个人理解(对线程不是很理解,怎么应用)
.wait()表示在对象上等待;如果该对象从无他人占用,则标为占用;如该对象已经占用,则排在该对象的等待队列中。需要唤醒.notify()唤醒该对象等待队列中的第一个;.notifyAll()唤醒该对象等待队列中的所有线程。
.sleep()就是让线程等待多长时间然后继续。。。
一个例子:[code]class MyA extends Thread
{
public void run()
{
for(int i=0; i<20; i++)
{
System.out.println("MyA...run..." + i);
try{ Thread.sleep(1000); }catch(Exception e){ }
if(MyTest.tag)
{
System.out.println("清理帐务......");
break;
}
}
}
}
class MyB implements Runnable
{
public void run()
{
for(int i=0; i<20; i++)
{
System.out.println("MyB.run.." + i);
try{ Thread.sleep(1000); }catch(Exception e){ }
}
}
}
public class MyTest
{
public static boolean tag;
public static void main(String[] args) throws Exception
{
new MyA().start();
new Thread(new MyB()).start();
System.in.read();
tag = true;
for(int i=0; i<30; i++)
{
System.out.println("main..... " + i);
}
}
}[/code] |