论坛首页 编程语言技术论坛

Java中同步代码块的疑惑

浏览 10682 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-05-08  
worldlxy 写道
wshcdr 写道
my_queen 写道
第一个代码块中,callme1是实例变量,每一个对象都有他自己的实现,所以用它做锁没有效果;
第二个代码块中,三个对象共享一个callme,所以用它做锁会产生竞争.


恩, 但是LZ的这个例子对输出的顺序根本没有任何限制,两个例子的输出都是无顺序保证的


有保证的,有join()呢


        nt1.start(); 
        nt2.start(); 
        nt3.start(); 
        nt1.join(); 
        nt2.join(); 
        nt3.join();


join是等待线程结束,但是上面又有start();cpu是时间分片的,所以在join以前,三个线程先竞争cpu,无法保证排序.
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics