| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 324 人关注过本帖
标题:书上同步例子没有出现他说的错误
只看楼主 加入收藏
无尽的独白
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2011-8-3
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
书上同步例子没有出现他说的错误
第一次发帖不会弄
书上说延迟会出现的情况,我运行了没出现啊
·······
ticket=1
ticket=0
ticket=-1

代码:

class MyThread implements Runnable {
    private int ticket = 5;

    public void run() {
        for (int i = 0; i < 100; i++) {
            if (ticket > 0) {
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println(Thread.currentThread().getName() + "ticket="
                        + ticket--);

            }
        }
    }
}

public class SyncDemo01 {
    public static void main(String[] agrs) {
        Thread m1 = new Thread(new MyThread(), "一号窗");
        Thread m2 = new Thread(new MyThread(), "二号窗");
        Thread m3 = new Thread(new MyThread(), "三号窗");
        m1.start();
        m2.start();
        m3.start();
    }
}

谢谢各位啊,苦逼大学生自学java中。。。。。。。。
搜索更多相关主题的帖子: ticket private public 
2012-05-06 16:59
无尽的独白
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2011-8-3
收藏
得分:0 
我又改了一下
    private static int ticket = 5;

结果先出现0号票后出现1号票,这算问题吗
2012-05-06 17:09
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
收藏
得分:10 
有延迟现象啊,只不过你用Thread.sleep(500);他只延迟了0.5s,所以说你感觉不出来吗?
不如你把时间弄长点就行了,比如:Thread.sleep(5000);这样就会延迟5s.这样就有延迟效果了。
2012-05-06 21:51
无尽的独白
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2011-8-3
收藏
得分:0 
延迟是有 但是书上说会出现0和-1号票 然后用同步来改进 我好像知道错在哪了 我改的不对不用加static 错在我new了三个MyThread 他们不共享票 所以没有出错然后用同步也不好使 这样写就好了
程序代码:
public class SyncDemo01 {
    public static void main(String[] agrs) {

        MyThread t = new Mythread();                    //一个线程
        new Thread(t, "一号窗").start();
        new Thread(t, "二号窗").start();
        new Thread(t, "三号窗").start();
    

    }
}


哈哈很感谢你啊

2012-05-07 16:25
快速回复:书上同步例子没有出现他说的错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034788 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved