摘要:
Yield方法可以暂停当前正在执行的线程对象,让其他有相同优先级的线程执行。它是一个静态方法而且只保证当前线程放弃CPU占用而不能保证其它线程一定能占用CPU,执行yield()的线程有可能在进入到暂停状态后马上又被执行。 Thread t1 = new Thread(() -> { System. 阅读全文
摘要:
SynchronizedMap实现上在调用Map的所有方法是,对整个map进行了同步! public V put(K key, V value) { synchronized (mutex) {return m.put(key, value);} } ConcurrentHashMap的实现却更加精 阅读全文
摘要:
/** * 控制线程的执行循序 T1 -> T2 -> T3 * join实现 */ public static void join(){ Thread t1 = new Thread(() -> { System.out.println("hello my is T1!"); }); Thread 阅读全文
摘要:
1.底层实现上来说? Synchronized是JVM层面的锁,是Java关键字,通过monitor对象来完成。 ReentranLock是API层面的锁底层使用AQS。 2.是否可手动释放锁? synchronized不需要用户手动释放锁。 ReentranLock可以手动释放锁,一般通过lock 阅读全文