帮看一段简单的代码 本帖最后由 yaojianquansb 于 2010-07-29 00:15:03 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.LinkedList;public class Test extends Thread{ static LinkedList<String> myList = new LinkedList<String>(); static boolean flag=true; public Test(){} public Test(String threadName){ super(threadName); } public static void add(){ myList.add("apple1"); myList.add("apple2"); flag=false; } public void run(){ synchronized(myList){ try{ while(myList.size()==0){ if(flag) {System.out.println("Warnning:"+getName()+" It's empty!"); myList.wait();} else break; } if(myList.size()>0) {String s = myList.removeLast(); System.out.println(getName()+":"+s);} else System.out.println("INFO:"+getName()+" quit."); }catch(Exception e){ e.printStackTrace(); } } } public static void main(String args[]){ Test t1 = new Test("t1"); Test t2 = new Test46("t2"); Test46 t3 = new Test("t3"); t1.start(); t2.start(); t3.start(); try{ Thread.sleep(3000); }catch(Exception e){ e.getMessage(); } synchronized(myList){ add(); myList.notifyAll(); } }} 这是简单的生产者与消费者问题, 只不过没有生产者,是不是可以当myList.size()==0时就退出,因为此时没有生产者,那么对于消费者来说wait()就没什么意义,LZ看下是不是可以这样:while(myList.size()==0){ System.out.println("Warnning:"+getName()+" It's empty!"); // myList.wait();break; } 士兵突击 麻烦看一下这个,http://topic.csdn.net/u/20100729/15/232335a5-4632-4501-b899-a249750dd22f.html?10290,我昨天想问这个的,后来自己写了个简单点的,悟性太低,这个明白了,那个还是不会。 java string转file 线程的挂起与唤醒的问题 高分 急求!!!! 我是JAVA新手,有个问题请求各位高手请教~~谢谢~~再线等待!! 问一个关于static的问题 这个简单的东西为什么编译不过去那? ~~一个整数的格式转换问题~~ 谁能给我一段org.w3c.dom.html.HTMLDocument的代码示例,很简单的 JAVA有没有什么命令可以将一个目录包括其下所有的文件移到另一个目录下? java的开发环境 关于TableViewer 的一个问题 请教ChartDirector保存图片到文件!
import java.util.LinkedList;
public class Test extends Thread{
static LinkedList<String> myList = new LinkedList<String>();
static boolean flag=true;
public Test(){}
public Test(String threadName){
super(threadName);
}
public static void add(){
myList.add("apple1");
myList.add("apple2");
flag=false;
}
public void run(){
synchronized(myList){
try{
while(myList.size()==0){
if(flag)
{System.out.println("Warnning:"+getName()+" It's empty!");
myList.wait();}
else
break;
}
if(myList.size()>0)
{String s = myList.removeLast();
System.out.println(getName()+":"+s);}
else
System.out.println("INFO:"+getName()+" quit.");
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String args[]){
Test t1 = new Test("t1");
Test t2 = new Test46("t2");
Test46 t3 = new Test("t3");
t1.start();
t2.start();
t3.start();
try{
Thread.sleep(3000);
}catch(Exception e){
e.getMessage();
}
synchronized(myList){
add();
myList.notifyAll();
}
}
}
是不是可以当myList.size()==0时就退出,因为此时没有生产者,那么对于消费者来说wait()就没什么意义,
LZ看下是不是可以这样:
while(myList.size()==0){
System.out.println("Warnning:"+getName()+" It's empty!");
// myList.wait();
break;
}