![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java高并发程序设计
文章平均质量分 81
fantasyYan2
我的源代码被猫吃了
展开
-
java高并发程序设计-锁的优化
即对类似如下的方法改进为从而减少锁的持有时间。原创 2022-07-28 07:48:13 · 181 阅读 · 0 评论 -
JDK并发包
中断响应的实现可以用reentrantLock.lockInterruptibly()方法获取锁,当目标线程调用interrupt()方法后,该线程将响应中断,并抛出中断异常,释放自己获得的锁的同时,如果有正在申请的锁,也会放弃对该锁的申请,从而让其他线程可以获得该锁。如下代码如果两个线程用的都是读写锁的读锁readLock.lock()那么他们就是非阻塞的不需要等待彼此的锁。否则不管是写写的情况,还是读写的情况都是阻塞的。固定数量的线程池,当有新任务时,如果有空余线程直接使用空余线程。......原创 2022-07-21 08:49:46 · 211 阅读 · 0 评论 -
java并行基础之注意事项
可以通过调用interrupt()方法中断线程,中断后当前线程的isInterrupted()会变为true,然后根据sInterrupted()的状态去做一些操作退出这个线程。需要注意的是如果线程调用了Thread.sleep(),会因中断而抛出异常,它会清除掉中断标记,所以有时需要在catch中重新调用interrupt().wait(),sleep()与suspend()的比较wait()需要在synchronized语句中使用,通过notify()唤醒其中一条wait的线程,sleep会让原创 2022-07-10 21:46:58 · 209 阅读 · 0 评论