随笔分类 -  多线程

摘要:这里涉及到Java的多线程并发知识,以及线程池相关的知识。就不在此说明了。具体说说CompletionService的应用场景和使用方法。 比如我们有10个线程需要丢到线程池里面去执行,然后把10个线程的执行结果返回回来处理。如果没有使用CompletionService,我们的实现方式如下。首先创 阅读全文
posted @ 2018-10-19 11:03 段江涛IT 阅读(511) 评论(0) 推荐(0) 编辑
摘要:Java中有那么一些类,是以Atomic开头的。这一系列的类我们称之为原子操作类。以最简单的类AtomicInteger为例。它相当于一个int变量,我们执行Int的 i++ 的时候并不是一个原子操作。而使用AtomicInteger的incrementAndGet却能保证原子操作。具体的类如下: 阅读全文
posted @ 2018-09-28 10:50 段江涛IT 阅读(6742) 评论(0) 推荐(3) 编辑
摘要:要实现有返回值的多线程,具体代码如下: 1.FutureTask实现了接口Runnable,所以可以传入到线程中执行 2.futureTask.get()是一个阻塞方法 3.Callable<Integer>中的Integer表示返回的数据类型 阅读全文
posted @ 2018-09-27 21:12 段江涛IT 阅读(513) 评论(0) 推荐(0) 编辑
摘要:fork-join我们可以理解为分而治之,就是说当一个任务非常大的时候,我们可以按照一定的业务需求拆分为若干个小的任务,最后把这些小的任务再聚合起来。 下面就通过fork-join实现一个从1加到100的多线程实现方式。 首先定义类SumTask,必须继承RecursiveTask<Integer> 阅读全文
posted @ 2018-09-26 10:46 段江涛IT 阅读(2581) 评论(0) 推荐(1) 编辑
摘要:关于集合安全: ArrayList线程不安全,Vector线程安全; HashMap线程不安全,HashTable线程安全; StringBuilder线程不安全,StringBuffer线程安全。 关于创建线程: 方法一:如上,匿名的线程 方法二:创建一个类MyThread继承Thread。使用如 阅读全文
posted @ 2018-07-03 11:44 段江涛IT 阅读(449) 评论(0) 推荐(0) 编辑

页脚HTML代码