1.java中实现线程通信的方式(说说与线程相关的方法)
1)对象的 wait(long timeout)、wait(long timeout, int nanos)、wait() 方法,组合对象的 notify()、notifyAll()
2)显示锁:Lock.newCondition()、Condition await 系列方法、Condition signal()、signalAll()(JDK 1.5 开始通过 Lock 接口提供了显式锁机制,丰富了锁的功能,可以尝试加锁和加锁超时。Lock 接口中定义了加锁 lock()、释放锁 unlock() 方法 和 newCondition() 产生用于线程之间通信的 Condition 对象的方法)
3)信号量:Semaphore acquire 系列方法、release()系列方法(JDK 1.5 还提供了信号量(semaphore)机制,信号量可以用来限制对某个共享资源进行访问的线程的数量。在对资源进行访问之前,线程必须得到信号量的许可(调用 Semaphore 对象的 acquire()方法);在完成对资源的访问后,线程必须向信号量归还许可(调用 Semaphore 对象的 release()方法)。)
线程间通信的方式
最新推荐文章于 2021-03-10 21:00:04 发布