1. 虚假的多线程 例1:
public class TestThread { int i=0, j=0; public void go(int flag) { while(true) { try{ Thread.sleep(100); } catch(InterruptedException e) { System.out.println("Interrupted"); } if(flag==0) i++; System.out.println("i=" + i); } else { j++; System.out.println("j=" + j); } }}public static void main(String[] args){ new TestThread().go(0); new TestThread().go(1); }}
上面程序的运行结果为:i=1i=2i=3。。。 结果将一直打印出I的值。我们的意图是当在while循环中调用sleep()时,另一个线程就将起动,打印出j的值,但结果却并不是这样。关于sleep()为什么不会出现我们预想的结果,在下面将讲到。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18