多线程
Zdc_blog
慧不如痴~~~
展开
-
其他几种BlockingQueue
其他两种阻塞式容器BlockingQueuePriorityBlockingQueue是一种基于优先级的阻塞队列,(优先级的判断通过构造函数传入Compator对象来决定,也就是说传入队列的对象必须实现Comparable接口)在实现PriorityBlockingQueue时,内部控制线程同步的锁采用的是公平锁。然后这个容器在添加对象的时候add()是不会里面的对象进行优先级排序的,只有在取对象翻译 2017-03-08 10:15:22 · 339 阅读 · 0 评论 -
wait和notify用法
wait 和notify的用法解释(CownDownLatch)使用方法:使用 wait / notify 方法实现线程中的通信。(java为所有的对象都提供了这两种方法)wait 和 notify 必须要配合synchronized 关键字使用wait方法可以释放锁 ,notify 方法不可以释放锁假如要通过notify方法去唤醒wait, 需要等待另一个使用synchronized关键字翻译 2017-03-04 21:34:47 · 576 阅读 · 0 评论 -
多线程的设计模式
多线程的设计模式之FutureFuture模式有点类似于商品订单。比如在网购时,当看中某一件商品时,就可以提交订单,当订单处理完成后,在家里等待送货上门即可。也就是我们发送Ajax请求的时候,页面是异步进行后台处理然后用户无需一直等待请求的结果,可以继续浏览或操作其他内容。先给用户返回的是一个假的对象,这里面的内容都是写死的,然后等算出真实数据之后,再返回一个真实的数据,这后面使用的是wait()和原创 2017-03-09 11:08:02 · 291 阅读 · 0 评论 -
wait和notify来设计阻塞式队列的流程
使用wait和notify来设计一个阻塞式的BlockingQuese队列设计一个集合LinkedList设计一个计数器,使用AtomicInterge类来做创建几个用来表示集合的常量,如最大值,最小值,。在构造函数中给出LinkedList集合的最大值初始化一个对象用于加锁使用put()和get()方法来往队列中添加和获取元素判断队列为最大值时put方法用wait阻塞,不是最大值时a翻译 2017-03-06 19:13:56 · 756 阅读 · 0 评论 -
Queue的几种容器
关于几种不同容器队列的使用场景ConcurrentLinkedQueue是一个适用于高并发场景下的队列,通过无锁的方式实现高并发状态下的高性能,该容器的性能好于BlocjingQueue,是一个基于链接节点的无界线程安全队列,先进先出,头最先加入,尾最近加入,队列不允许null元素。 **重点内容**ConcurrentLinkedQueue重要方法 add(),offer()都是加入元素的方翻译 2017-03-07 14:42:31 · 681 阅读 · 0 评论 -
同步类容器和并发类容器的应用
同步类容器和并发类容器的用法古老的Vector,HashTable容器的同步功能其实都是有JDK的Collections.synchronized等工厂方法企业创建的,底层的机制还是利用了synchronized关键字对每个方法进行同步,但是这样的方法虽然保证了线程安全可是对于性能来说不好。HashMap容器使用Collections.synchronizedMap来包装之后获得的Map对象具有翻译 2017-03-07 14:44:47 · 290 阅读 · 0 评论