重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

队列的java代码 java消息队列代码

java多线程共同操作同一个队列,怎么实现?

具体代码如下:

创新互联公司是一家专业从事做网站、网站制作、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联公司依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!

以下是两个线程:

import java.util.*;

public class Thread_List_Operation {

//假设有这么一个队列

static List list = new LinkedList();

public static void main(String[] args) {

Thread t;

t = new Thread(new T1());

t.start();

t = new Thread(new T2());

t.start();

}

}

//线程T1,用来给list添加新元素

class T1 implements Runnable{

void getElemt(Object o){

Thread_List_Operation.list.add(o);

System.out.println(Thread.currentThread().getName() + "为队列添加了一个元素");

}

@Override

public void run() {

for (int i = 0; i 10; i++) {

getElemt(new Integer(1));

}

}

}

//线程T2,用来给list添加新元素

class T2 implements Runnable{

void getElemt(Object o){

Thread_List_Operation.list.add(o);

System.out.println(Thread.currentThread().getName() + "为队列添加了一个元素");

}

@Override

public void run() {

for (int i = 0; i 10; i++) {

getElemt(new Integer(1));

}

}

}

//结果(乱序)

Thread-0为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

JAVA程序利用List编写队列结构,求简易代码

package list;

import java.util.ArrayList;

//这是关于List用法,代表性的有LinkedList,ArrayList,Vector用法类似

public class ArrayListTest {

/**

* @param args

*/

public static void main(String[] args) {

ArrayListString list = new ArrayListString();

//添加

list.add("三国演义");

list.add("西游记");

list.add("水浒传");

list.add("红楼梦");

//修改

list.set(0, "三国志");

//查询某个元素是否存在

boolean flag = list.contains("西游记");

System.out.println(flag);

//删除

list.remove(2);//list.remove("水浒传");

//遍历

int size = list.size();

for ( int i=0; isize; i++)

{

String str =(String)list.get(i);//得到某个位置的元素

System.out.println(str);

}

}

}

////////////////////////下面是排序的

package list;

import java.util.ArrayList;

import java.util.Collections;

//这是关于List用法,代表性的有LinkedList,ArrayList,Vector用法类似

//排序

//Collections可以排序,还可以得到最大,最小数值,还可以将集合反转

public class SortListTest {

/**

* @param args

*/

@SuppressWarnings("unchecked")

public static void main(String[] args) {

ArrayList list = new ArrayList();

//添加

list.add(45);

list.add(67);

list.add(87);

list.add(23);

list.add(67);

Collections.sort(list);//升序

//Collections.sort(list,Collections.reverseOrder());//降序

//遍历

int size = list.size();

for ( int i=0; isize; i++ )

{

Integer str =(Integer)list.get(i);//得到某个位置的元素

System.out.println(str);

}

}

}

怎样用java代码实现一个队列

class StackT {

private VectorT v;

public Stack(){

v = new VectorT();

}

public T pop(){

if (v.size()==0) return null;

return v.get(v.size()-1);

}

public void push(T t){

v.add(t);

}

public boolean isEmpty(){

return v.size()==0;

}

}

class QueueT{

private VectorT v;

public Queue(){

v = new VectorT();

}

//入队列

public void enqueue(T t){

v.add(t);

}

//出队列

public T dequeue(){

if (v.size()==0) return null;

return v.get(0);

}

public boolean isEmpty(){

return v.size() == 0;

}

}

javaweb任务列队怎么做

1.在同一时刻,可能有很多任务需要执行,

而程序在同一时刻只能执行一定数量的任务,

当需要执行的任务数超过了程序所能承受的任务数时怎么办呢?

这就有了先执行哪些任务,后执行哪些任务的规则。

2.TaskQueue类就定义了这些规则中的一种,它采用的是FIFO(先进先出,英文名是First

In

First

Out)的方式,也就是按照任务到达的先后顺序执行。TaskQueue类的定义。

Java任务队列代码如下:

import java.util.Iterator;

import java.util.LinkedList;

import java.util.List;

public class TaskQueue

{

private ListTask

queue = new LinkedListTask();

//

添加一项任务

public synchronized void addTask(Task

task) {

if (task

!= null)

{

queue.add(task);

}

}

//

完成任务后将它从任务队列中删除

public synchronized void finishTask(Task

task) {

if (task

!= null)

{

task.setState(Task.State.FINISHED);

queue.remove(task);

}

}

//

取得一项待执行任务

public synchronized Task

getTask() {

IteratorTask

it = queue.iterator();

Task

task;

while (it.hasNext())

{

task

= it.next(); //

寻找一个新建的任务

if (Task.State.NEW.equals(task.getState()))

{ //

把任务状态置为运行中

task.setState(Task.State.RUNNING);

return task;

}

}

return null;

}

}

import java.util.Iterator;

import java.util.LinkedList;

import java.util.List;

public class TaskQueue

{

private ListTask

queue = new LinkedListTask();

//

添加一项任务

public synchronized void addTask(Task

task) {

if (task

!= null)

{

queue.add(task);

}

}

//

完成任务后将它从任务队列中删除

public synchronized void finishTask(Task

task) {

if (task

!= null)

{

task.setState(Task.State.FINISHED);

queue.remove(task);

}

}

//

取得一项待执行任务

public synchronized Task

getTask() {

IteratorTask

it = queue.iterator();

Task

task;

while (it.hasNext())

{

task

= it.next(); //

寻找一个新建的任务

if (Task.State.NEW.equals(task.getState()))

{ //

把任务状态置为运行中

task.setState(Task.State.RUNNING);

return task;

}

}

return null;

}

}


分享标题:队列的java代码 java消息队列代码
分享URL:http://cqcxhl.com/article/hjdpog.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP