java并发
Herbzhou
立志成为好的博主,坚持博客
展开
-
生产者与消费者,多线程
在实现一个的生产者和消费者(以下简称PC问题(producer-consumer))。遇到了一些问题;在实现中使用ArrayBlockingQueue,这是一个有最大容量的阻塞队列,在队列中添加元素有3种方式,我想使用put方法,这样不用判断是否队列已经满了,同样取元素使用take,不用判断队列是否为空。public class Producer implements Runnable ...原创 2019-12-07 16:16:01 · 55 阅读 · 0 评论 -
Delayed ,DelayedQueue的使用
因为并发看到了ScheduledThreadPoolExecutor的实现里面有Dealyed,所以就学习一下基本使用,网上资料也不少,Delayed这个接口继承了Comparable这个接口,所以实现这个接口现需要实现getDelay()和comapreTo方法;对于getDelay方法里面的参数我一开始比较疑惑。因为看到的别人博客的示例代码有的没用到这个参数,所以不知道这个参数是干啥的...原创 2019-12-06 17:27:34 · 432 阅读 · 0 评论 -
ConCurrentHashMap
1. 那么ConcurrentHashMap是如何判断在统计的时候容器是否发生了变化呢?使用modCount变量,在put、 remove 和clean方法里操作元素前都会将变量modCount进行加1,那么在统计size前后比较modCount是否发生变化,从而得知容器的大小是否发生变化。2. 关于该类中一些方法的测试:parallelismThreshold参数,如果map的siz...原创 2019-12-05 11:03:23 · 1008 阅读 · 0 评论 -
java并发编程的艺术学习笔记----第四章
前面的理论部分有点太枯燥的,直接从第四章来看吧。1. 线程睡眠时间。TimeUnit.Seconds.sleep(10) //睡眠十秒2. 线程放弃获取的时间片,重新与其他线程竞争时间片Thread.yield()3. volatileevolatile实现原理是缓存锁。。能确保变量独一份。4. 任意一个对象都拥有自己的监视器,当这个对象由同步块或者这个对象...原创 2019-12-02 00:52:02 · 119 阅读 · 0 评论