摘要:
Lock: getHoldCount(): 获取当前线程调用lock()方法的次数 1 import java.util.concurrent.locks.ReentrantLock; 2 3 public class Service { 4 private ReentrantLock lock = 阅读全文
摘要:
非公平锁: 1 import java.util.concurrent.locks.ReentrantLock; 2 3 public class Service { 4 5 private ReentrantLock lock; 6 7 public Service(boolean isFair) 阅读全文
摘要:
公平锁: 1 import java.util.concurrent.locks.ReentrantLock; 2 3 public class Service { 4 5 private ReentrantLock lock; 6 7 public Service(boolean isFair) 阅读全文
摘要:
Condition实现多对多交替打印: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.ReentrantLock; 3 4 /** 5 * 生产者消费者逻辑 6 */ 7 publ 阅读全文
摘要:
Condition实现一个生产者一个消费者,实现一对一交替打印: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.ReentrantLock; 3 4 /** 5 * 生产消费逻辑 阅读全文
摘要:
多个condition实现通知部分线程: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.Lock; 3 import java.util.concurrent.locks.Reen 阅读全文
摘要:
使用Condition实现等待/通知: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.Lock; 3 import java.util.concurrent.locks.Reent 阅读全文
摘要:
ReentrantLock: 1 /** 2 * ReentrantLock测试逻辑类 3 */ 4 public class MyService { 5 private Lock lock = new ReentrantLock();//获取锁对象 6 7 public void methodA( 阅读全文
摘要:
ReentrantLock: 1 /** 2 * ReentrantLock测试逻辑类 3 */ 4 public class MyService { 5 private Lock lock = new ReentrantLock();//获取锁对象 6 7 public void testMeth 阅读全文
摘要:
通过管道进行线程通信-字符流: 1 import java.io.IOException; 2 import java.io.PipedReader; 3 4 /** 5 * PipedReader 6 */ 7 public class ReadData { 8 9 public void rea 阅读全文
摘要:
通过管道进行线程通信-字节流: 1 import java.io.IOException; 2 import java.io.PipedInputStream; 3 4 /** 5 * PipedInputStream 6 */ 7 public class ReadData { 8 9 publi 阅读全文
摘要:
多个生产者/多个消费者: 1 /** 2 * 生产者 3 */ 4 public class P { 5 private MyStack stack; 6 7 public P(MyStack stack) { 8 this.stack = stack; 9 } 10 11 public void 阅读全文