java 求助 关于线程的同步问题
class myThread extends Thread{
public static boolean b = false;
public void run()
{
for(int i=0;i<10;i++)
{
if(Thread.currentThread().getName().equals("Thread-0") && b == true)
{
System.out.print("消耗者\t");
b = false;
}
if(Thread.currentThread().getName().equals("Thread-1") && b == false)
{
System.out.print("生产者\t");
b = true;
}
//System.out.println(Thread.currentThread().getName() + " " + i);
}
}
}
public class test{
public static void main(String[] args)
{
myThread m1 = new myThread();
myThread m2 = new myThread();
m1.start();
m2.start();
}
}
问题一: 我这样写关于线程的同步思路对不对?
问题二: //System.out.println(Thread.currentThread().getName() + " " + i); 为什么把这行注释掉之后只打印出一行生产者?
------解决方案--------------------