
java并发编程
维1
这个作者很懒,什么都没留下…
展开
-
怎么得到多线程的运算结果并处理
最近参加了一个学校的程序设计比赛,为了解决运算速度使用了多线程,但是一个问题难倒我了,那就是怎么获取多线程的运算结果并作处理呢?查看的很多博客也没有得到满意的答案。目的:将多线程的运算结果存入线程安全的集合中一下几种方案我都没有成功,可能是我的使用有问题,如果有人看到感谢你们指出1.使用带有返回值的Callable和接收返回值的Future 但是使用多个线程同时持有一个Fut...原创 2018-04-08 14:01:50 · 1956 阅读 · 0 评论 -
java线程池对于线程的管理
java.util.concurrent 类 ThreadPoolExecutor构造函数: 构造方法摘要ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) ...原创 2018-04-08 14:56:54 · 184 阅读 · 0 评论 -
ExecutorService的关闭
转自:http://blog.sina.com.cn/s/blog_145f07e7b0102x3dy.html虽然使用ExecutorService可以让线程处理变的很简单,可是有没有人觉得在结束线程运行时候只调用shutdown方法就可以了?实际上,只调用shutdown方法的是不够的。我们用学校的老师和学生的关系来说明这个问题。 shutdown只是起到通知的作用 我们来假设如下场景:学校里...转载 2018-04-04 15:35:33 · 792 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
转自:http://www.cnblogs.com/dolphin0520/p/3920397.html写的很好,有时间转过来作为笔记转载 2018-04-03 21:25:07 · 202 阅读 · 0 评论 -
java多线程的原子性
以下代码转自https://blog.youkuaiyun.com/ghsau/article/details/7421217class Count { public int num; public synchronized void increment() { num++; } public int get() { return num; }}public class Threa...原创 2018-04-03 10:25:19 · 255 阅读 · 0 评论 -
进程和线程之由来
转自:http://www.cnblogs.com/dolphin0520/p/3910667.html下面是本文的目录大纲: 一.操作系统中为什么会出现进程? 二.为什么会出现线程? 三.多线程并发一.操作系统中为什么会出现进程? 说起进程的由来,我们需要从操作系统的发展历史谈起。 也许在今天,我们无法想象在很多年以前计算机是什么样子。我们现在可以用计算机来做很多事情:办公、娱乐、上网...转载 2018-04-04 16:23:49 · 143 阅读 · 0 评论 -
ReentrantLock中中断锁和非中断锁源码分析
最近读了Java并发编程的艺术记录一下https://www.cnblogs.com/daydaynobug/p/6752837.html关于AQS的讲解尝试获取一个内部锁的操作(进入一个 synchronized 块)是不能被中断的public class WriterReader { private Object lock; public WriterReader...原创 2019-01-03 15:04:05 · 1450 阅读 · 0 评论 -
阻塞队列之一:BlockingQueue汇总
一、阻塞队列介绍转自:https://www.cnblogs.com/duanxz/p/3400003.htmlBlockingQueue 通常用于一个线程生产对象,而另外一个线程消费这些对象的场景。下图是对这个原理的阐述:一个线程往里边放,另外一个线程从里边取的一个 BlockingQueue。一个线程将会持续生产新对象并将其插入到队列之中,直到队列达到它所能容纳的临界点。也就是说...转载 2019-01-20 16:16:40 · 365 阅读 · 0 评论