锁定老帖子 主题:Java中同步代码块的疑惑
精华帖 (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,无法保证排序. |
|
返回顶楼 | |