本月博客排行
-
第1名
龙儿筝 -
第2名
johnsmith9th -
第3名
wy_19921005 - zysnba
- sgqt
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- lzyfn123
- johnsmith9th
- zhanjia
- forestqqqq
- nychen2000
- ajinn
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
- jveqi
- java-007
- sunj
最新文章列表
使用CompletionService批处理任务(线程池阻塞线程)
如果你向Executor提交了一个批处理任务,并且希望在它们完成后获得结果。为此你可以保存与每个任务相关联的Future,然后不断地调用timeout为零的get,来检验Future是否完成。这样做固然可以,但却相当乏味。幸运的是,还有一个更好的方法:完成服务(Completion service)。
CompletionService整合了Executor和BlockingQueue的功能。你 ...
Java主线程如何等待子线程执行结束(转)
工作中往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了.
一个线程启动之后, 是异步的去执行需要执行的内容的, 不会影响主线程的流程, 往往需要让主线程指定后, 等待子线程的完成. 这里有几种方式.
站在 主线程的角度, 我们可以分为主动式和被动式.
主动式指主线主动去检测某个标志位, 判断子线程是否已经完成. ...
ExecutorService线程池
转载:http://blog.sina.com.cn/s/blog_6151984a0100krj8.html
ExecutorService 建立多线程的步骤:
1。定义线程类
class Handler implements Runnable{}
2。建立ExecutorServi ...
ExecutorService生命周期的方法
转载:http://victorzhzh.iteye.com/blog/1010359
ExecutorService接口继承了Executor接口,定义了一些生命周期的方法
public interface ExecutorService extends Executor {
void sh ...
Java Concurrency: ExecutorService Introduction
1) Difference between Callable and Runnable
The Callable interface is similar to Runnable, in that both are designed for classes whose instances are potentially executed by another thread. A Ru ...
Item 68: Prefer executors and tasks to threads
1. java.util.concurrent contains an Executor Framework, which is a flexible interface-based task execution facility. Creating a work queue requires a single line of code:
ExecutorService executor ...
ThreadPoolExecutor 源码分析(二)--- 队列的应用
一、序言
上一篇,介绍了线程池的基本工作原理,这里会介绍一些里面的一些饱和策略和几个常用的线程池方法的实现原理。
二、源码分析
线程池极力推荐我们用Executors 提供车的各种工厂,来创建我们的线程池,提供了我们常用的几种创建线程池的方式:
newCachedThreadPool():无界线程池,可以自己进行回收。
newFixedTh ...
线程池(ThreadPoolExecutor)
两个好处:
1、线程可以重复利用,不用对同步任务进行不断的创建销毁
2、可以限制和管理资源,如线程
两个结果组成:
Set workers 表示每个正在跑的线程,在run中,先是处理第一个Task,处理完后会从workQueue中尝试拿到一个Task进行处理,如果没有,结束(keepAliveTime可以调节结束的延时)、删除这个worker
BlockingQueue<R ...
关于ThreadPoolExecutor的理解
做Java也有4年了,原来对于ThreadPoolExecutor的maximumPoolSize一直存在误解。
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAlive ...
jdk1.5的CountDownLatch同步工具
package cn.com.songjy.test.socket.thread;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.apache.commo ...
ExecutorService的方法分析
ExecutorService接口继承了Executor接口其主要方法如下:
/**
* 优雅地关闭:先前提交的任务会继续执行完成,但不接受新的任务<br>
* 对于已关闭的ExecutorService没有影响
*/
void shutdown();
/**
* 强行关闭:试图停止所有正在执行的任务,挂起等待执行的任务,返回等待执行任务的清单,而 ...
51、java.util.concurrent 包及其常用类
一、软件包 java.util.concurrent
在并发编程中很常用的实用工具类。
二、java.util.concurrent.Executors
/**
* Executors
* 此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法 ...
ScheduledExecutorService 源码分析
public interface ScheduledExecutorService extends ExecutorService {
// 创建在指定延迟后执行且只运行一次的的任务
public ScheduledFuture<?> schedule(Runnable command,
long delay, TimeUnit unit);
...
ExecutorService 分析
public interface ExecutorService extends Executor {
// 优雅地关闭:先前提交的任务会继续执行完成,但不接受新的任务。
// 对于已关闭的ExecutorService没有影响。
void shutdown();
// 强行关闭:试图停止所有正在执行的任务,挂起等待执行的任务,返回等待执行任务的清单, ...
java.util.concurrent.ExecutorService与Executors例子的简单剖析
java.util.concurrent.ExecutorService与Executors例子的简单剖析
对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。
...
线程池ExecutorService的submit和execute
线程池ExecutorService的submit和execute
在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过 Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特 性。
一、创建任务
任务就是一个实现了Runnabl ...
ThreadLocal在线程池中的使用方法
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class ThreadLocalTest {
public static void main(S ...
可以返回执行结果的线程
java中继承自Thread或者实现Runnable接口的类都是可用于执行多线程任务的类
要想得到任务执行的结果,可以向类的构造方法中传入类类型参数,例如
class AddThread implements Runnable{
private int a;//操作数a
private int b;//操作数b
public Object result;//结果
...