在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过 Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特 性。一、创建任务任务就是一...
分类:
编程语言 时间:
2016-01-06 17:48:05
阅读次数:
218
首先梳理一下整体的架构,总的来说就是一个生产—消费者的形式,建立在Executor framework上:1.每一个Lane包含一个名字string和线程池(ExecutorService),线程池其实就相当于worker集合2.每一个Lane有一个计数器(AtomicInteger),用来记录进入...
分类:
其他好文 时间:
2016-01-06 01:32:13
阅读次数:
155
一.一个实现了Runnable接口的类class MyThread implements Runnable{ private static int num = 0; @Override public void run() { while(true){ ...
分类:
编程语言 时间:
2016-01-05 01:28:43
阅读次数:
267
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括ThreadPool,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。并发编程的一种编程方式是把任务拆分为一系列的小任务,即Runnable,然后在提交给一个Executor执行,Executor.exec...
分类:
编程语言 时间:
2015-12-30 10:39:08
阅读次数:
240
public interface Executor{ void executor(Runnable command);}如上所写,Executor实际上是一个接口,他提供了唯一的接口方法executor(Runnable command)
分类:
编程语言 时间:
2015-12-26 16:36:43
阅读次数:
150
并发度一个Topology可以包含一个或多个worker(并行的跑在不同的machine上), 所以worker process就是执行一个topology的子集, 并且worker只能对应于一个top ology一个worker可用包含一个或多个executor, 每个component (spo...
分类:
其他好文 时间:
2015-12-25 13:33:31
阅读次数:
151
大多数并发都是通过任务执行的方式来实现的。一般有两种方式执行任务:串行和并行。class SingleThreadWebServer { public static void main(String[] args) throws Exception { ServerSocket ...
分类:
编程语言 时间:
2015-12-24 10:43:03
阅读次数:
194
相关类Executor,Executors。AbstractExecutorService。ExecutorServiceExecutor:整个线程池运行者框架的顶层接口。定义了一个execute方法。整个线程运行者框架的核心方法。public interface Executor { voi...
分类:
编程语言 时间:
2015-12-19 15:02:50
阅读次数:
217
park中的Task分为ShuffleMapTask和ResultTask两种类型,在Spark中DAG的最后一个Stage内部的任务都是ResultTask,其余所有的Stage(s)的内部都是ShuffleMapTask,生成的Task会被Driver发送到已经启动的Executor中执行具体的计算任务,执行的实现是在TaskRunner.run方法中完成的。
分类:
其他好文 时间:
2015-12-16 12:48:54
阅读次数:
158
Storm并发度和Grouping方式 Task数量————->逻辑数量(影响输出结果) Worker数量———->进程数(影响效率) Executor数量——–>线程数(影响效率)1.builder.setSpo...
分类:
其他好文 时间:
2015-12-12 17:07:23
阅读次数:
165