JDK源码
皮蛋瘦肉
不忘初心,方得始终!
展开
-
Thread类中的sleep(long millis, int nanos)并没有实现ns级别的睡眠.
Thread 中的方法public static void sleep(long millis, int nanos)从参数来看,线程睡眠设定的时间为millis + nanos.但实际上并非如此. 来看一下源码:public static void sleep(long millis, int nanos) throws InterruptedException {原创 2018-01-16 10:59:53 · 6908 阅读 · 7 评论 -
从程序分析线程获得的是对象锁还是对象的方法锁?
这篇文章需要探究的问题是当一个线程调用一个对象的同步方法(synchronized修饰)时,其获得的是对象锁(其他线程无法访问该对象的所有方法),还是获得的是对象方法的锁(其他线程只是无法访问该方法而已).也就是说,有一个类有三个方法,其中两个为同步方法.另一个为非同步方法. 当有两个线程Thread0和Thread1,Thread0在调用fun1()时,可以确定的是Thread1也是无法调原创 2018-01-16 17:06:21 · 1239 阅读 · 0 评论