thread_fork/join并发框架1】的更多相关文章

一.线程并发控制  Thread.Executor.ForkJoin和Actor  1.裸线程      Runnable接口,调用.start()开始,没有现成的API来结束线程,你需要自己来实现,通过类似boolean类型的标记来通讯 使用Runnable对象,然后创建对应的Thread对象来控制程序中这些线程的创建.执行以及线程的状态 2.ExecutorFramework(Executor和ExecutorService接口):执行器框架将任务的创建和执行进行了分离,通过这个框架只需要实…
转自  http://blog.csdn.net/mr_zhuqiang/article/details/48300229 三.使用异步方式 invokeAll(task1,task2); 是同步方式,将当前任务挂起直到子任务发送到 Fork/join线程池中执行完成,这种方式允许工作窃取算法,分配一个新任务给在执行休眠任务的工作者线程. 相反当采用异步的方式(比如,fork()),任务将继续执行,所以就没有办法使用工作窃取算法了.因为不存在等待的线程了.除非使用join() 或则 get()…
应用程序并行计算遇到的问题 当硬件处理能力不能按摩尔定律垂直发展的时候,选择了水平发展.多核处理器已广泛应用,未来处理器的核心数将进一步发布,甚至达到上百上千的数量.而现在 很多的应用程序在运行在多核心的处理器上并不能得到很好的性能提升,因为应用程序的并发处理能力不强,不能够合理有效地的利用计算资源.线性的计算只能利 用n分之一的计算支援. 要提高应用程序在多核处理器上的执行效率,只能想办法提高应用程序的本身的并行能力.常规的做法就是使用多线程,让更多的任务同时处理,或者让一部分操作 异步执行,…
1. Fork/Join框架 2. Executor框架 3. ThreadPoolExecutor 4. ScheduledThreadPoolExecutor 5. FutureTask 6. txt java并发框架 Fork/Join框架 定义 一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架 核心思想 分治 fork分解任务,join收集任务 工作窃取算法 定义 工作窃取算法work-stealing: 某个线程从其他队列里窃取…
深入理解Java并发框架AQS系列(一):线程 深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念 一.概述 1.1.前言 重剑无锋,大巧不工 读j.u.c包下的源码,永远无法绕开的经典并发框架AQS,其设计之精妙堪比一件艺术品,令众多学者毫不吝惜溢美之词.近期准备出一系列关于AQS的文章,系统的来讲解AQS,我将跟大家一起带着敬畏之心去读她,但也会对关键部分提出质疑及思考 本来打算直接以阐述锁概念作为开头,但发现始终都绕不过线程这关,再加上现在好多讲述线程的文章概念混淆不清,误人…
一.前言 优秀的源码就在那里 经过了前面两章的铺垫,终于要切入正题了,本章也是整个AQS的核心之一 从本章开始,我们要精读AQS源码,在欣赏它的同时也要学会质疑它.当然本文不会带着大家逐行过源码(会有"只在此山中,云深不知处"的弊端),而是从功能入手,对其架构进行逐层剖析,在核心位置重点解读,并提出质疑:虽然AQS源码读起来比较"跳",但我还是建议大家花时间及精力去好好读它 本章我们采用经典并发类ReentrantLock来阐述独占锁 二.整体回顾 独占锁,顾名思义…
gevent是python的一个并发框架,采用协程实现并发目的,用起来也非常简单 gevent的docs:http://www.gevent.org/contents.html 一个最简单的例子: import gevent import gevent.monkey gevent.monkey.patch_all() def foo(i, a, b, c): print('Running in foo' + str(i) + ' ' + str(a) + str(b) + str(c)) gev…
http://segmentfault.com/a/1190000000471602 开源 Python 是开源的,介绍的这几个框架 Twisted.Tornado.Gevent 和 tulip 也都是开源的,最后这个演讲是在开源大会弄的,所以标题里肯定少不了开源.另外,我的 gevent3 项目也是开源的——貌似不少同学被我起的极品名字给搞混了,特别说明一下,gevent3 虽然有跟 Gevent 一样的接口外貌,但底层却是 tulip 驱动的(考虑把名字改回 gulip 之类的):请区别于将…
Python开源异步并发框架的未来 2014年3月30日,由全球最大的中文IT社区CSDN主办的“开源技术大会·” (Open Source Technology Conference ,简称OSTC )在北京丽亭华苑酒店召开. 本次大会以“启蒙·开源”(Open Mind, Open Source)为主题,邀请到了来自全国各地的30多位开源业界资深人士发表主题演讲,数十个开源社区现场参与,到场的开源软件开发者.贡献者和开源爱好 者总人数超过500人.作为一场“接地气”的开源盛会,“OSTC ”…
转载:http://itindex.net/detail/48869-j.u.c-%E6%A1%86%E6%9E%B6 J.U.C并发框架 作者:Doug Lea SUNY Oswego Oswego NY 13126 dl@cs.oswego.edu 翻译:书卷多情 在J2SE1.5中,java.util.concurrent包下的大部分同步工具(锁.屏障等)以AbstractQueuedSynchronizer类为基础来构建.这个框架提供了一些常用机制用于自动管理并发状态.阻塞及非阻塞线程,…