本帖最后由 张吉日 于 2012-10-21 19:58 编辑
我的问题是中间注释的部分,可能写的不太明白,看明白的给我讲讲吧 谢谢了..............- public class TicketDemo {
- public static void main(String[] args) {
- Ticket t = new Ticket();
-
- //t是实现接口,Thread是接收Runnable接口类型的对象
- 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();
- }
- }
- /*
- * 卖票类
- */
- class Ticket implements Runnable{ //实现Runnable接口
- private int tick = 100;
- Object obj = new Object();
- public void run(){
- while(true){
- if(tick > 0){ // 问题 在这里:: 老毕视频里面的,,,,4个线程 0 1 2 3都挂在这里
- //4个线程挂在if(tick > 0 )这里,当tick--时 , tick是通过什么形式,把tick的( -- )的值 赋给下一个线程中的tick
- //难道是瞬间把tick-- 的值赋给tick吗? 底层是怎么实现的啊
- try{Thread.sleep(10);}catch(Exception e){}
- System.out.println(Thread.currentThread().getName()+"sile: "+tick--);
- }
- }
- }
- }
复制代码 |