本帖最后由 邢晏玮 于 2012-11-9 15:53 编辑
- class Tick implements Runnable
- {
- private int tk = 100;
- public void run()
- {
- while(true)
- {
- if(tk>0)
- {
- System.out.println(Thread.currentThread().getName()+"....sale : "+ tk--);
- }
- }
- // for(int tk = 100;tk>0;tk--)
- // {
- // System.out.println(Thread.currentThread().getName()+"..."+tk);
- // }
- }
- }
- public class ThreadDemo01
- {
- public static void main(String args[])
- {
- Tick t = new Tick();
- Thread t1 = new Thread(t);
- Thread t2 = new Thread(t);
- Thread t3 = new Thread(t);
- Thread t4 = new Thread(t);
- t1.start();
- t2.start();
- t3.start();
- t4.start();
-
- }
- }
复制代码 听了毕老师的课 写了个小程序 但是有个问题请各位帮帮忙- while(true)
- {
- if(tk>0)
- {
- System.out.println(Thread.currentThread().getName()+"....sale : "+ tk--);
- }
- }
复制代码 要是换成了for的循环就没有出现预期的效果,还是每个线程都执行了一遍 也就是说还是卖出了四百张的票 并没有像用while 循环输出卖出了一百张的票 是怎么回事呢?帮帮忙!
|
|