由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - 请教一个线程synchronized 问题
相关主题
为什么多个线程生成的随机数是一样的?问个mult-core的clock synchronization问题
谁上操作系统时编过一个真的操作系统?谁能说说同步/异步IO和阻塞/非阻塞IO的区别?
问一个算法题 (转载)what does "@Override" mean in the Java code below? Thanks!
问个c/c++问题有必要旁听 operating system design吗? (转载)
求助:准备PhD退学了,怎么跟导师说比较好?[转载] How to implement the "Contour" command
SOAP service, how to make sure it runs only 1 process? (a weak question on system call
ML和WSN方向比较 (phd), wsn业界工作是不是很难找?[转载] Scheme 编程问题求教
计算机发展已经走火入魔了LAPACK++ or TNT?
相关话题的讨论汇总
话题: thread话题: threadtest话题: sleep话题: end话题: begin
进入CS版参与讨论
1 (共1页)
H****n
发帖数: 26
1
代码如下:
//--------------------------------------------
class RunnableImpl implements Runnable {
public void run() {
synchronized(this){
try {
System.out.println("Begin sleep");
Thread.sleep(2000);
System.out.println("End sleep");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class ThreadTest extends Thread {
Thread t;
public ThreadTest(Thread t) {
this.t = t;
}
@Override
public void run() {
synchronized (t) {
System.out.println("getObjectLock");
try {
Thread.sleep(9000);
System.out.println("ReleaseObjectLock");
} catch (InterruptedException ex) {
ex.printStackTrace();
}

}
}
}
public class JoinTest {
public static void main(String[] args) {
Thread t = new Thread(new RunnableImpl());
new ThreadTest(t).start();
t.start();
}
}
//-----------------------------------------------
运行结果是:
getObjectLock
Begin sleep
End sleep
ReleaseObjectLock
我不解的地方是,“new ThreadTest(t)" 这个对象启动后应该获得了"t"这个对象的同
步锁了,所以我觉得Begin sleep和End sleep要在ReleaseObjectLock以后才能执行的
。为什么结果不是这样呢? 希望大牛给解释下,谢谢!
1 (共1页)
进入CS版参与讨论
相关主题
LAPACK++ or TNT?求助:准备PhD退学了,怎么跟导师说比较好?
请 CMU 的兄弟姐妹们帮忙SOAP service, how to make sure it runs only 1 process? (
这里哪些方向在工业界比较有前途?ML和WSN方向比较 (phd), wsn业界工作是不是很难找?
一个简单的算法问题? (转载)计算机发展已经走火入魔了
为什么多个线程生成的随机数是一样的?问个mult-core的clock synchronization问题
谁上操作系统时编过一个真的操作系统?谁能说说同步/异步IO和阻塞/非阻塞IO的区别?
问一个算法题 (转载)what does "@Override" mean in the Java code below? Thanks!
问个c/c++问题有必要旁听 operating system design吗? (转载)
相关话题的讨论汇总
话题: thread话题: threadtest话题: sleep话题: end话题: begin