多线程
文章平均质量分 77
冰火两重天
专注于hadoop平台大数据处理的技术对机器学习以及统计学持续的不断深入
展开
-
神奇的缓存行填充
本文转载自:http://ifeve.com/disruptor-cacheline-padding/ 我们经常提到一个短语Mechanical Sympathy,这个短语也是Martin博客的标题(译注:Martin Thompson),Mechanical Sympathy讲的是底层硬件是如何运作的,以及与其协作而非相悖的编程方式。 我在上一篇文章中提到RingBuffer转载 2013-03-11 12:04:26 · 4232 阅读 · 0 评论 -
java Object 类中 notify() ,notifyAll() ,wait()
Java Monitor 从两个方面来支持线程之间的同步,即:互斥执行与协作。 Java 使用对象锁 ( 使用 synchronized 获得对象锁 ) 保证工作在共享的数据集上的线程互斥执行 , 使用 notify/notifyAll/wait 方法来协同不同线程之间的工作。这些方法在 Object 类上被定义,会被所有的 Java 对象自动继承。 实质上,Java 的 Objec原创 2013-06-20 16:25:22 · 919 阅读 · 0 评论 -
线程管理
线程信息 Thread保存了一些属性信息,有助于我们区分、了解其状态和控制其优先级。 ID : 线程的唯一标识 Name:线程名称 Priority:优先级,在原创 2013-09-10 15:43:18 · 860 阅读 · 0 评论 -
线程同步
同步方法 仅当前执行线程能访问被synchronized的方法,若其他线程尝试访问此被synchronized修饰的方法,被挂起直到第一个线程该方法的调用完成。静态方法有不同的行为,只有一个执行线程能访问被synchronized修饰的静态方法,但是其他线程能访问该对象的非静态方法。原创 2013-09-12 17:34:06 · 870 阅读 · 0 评论 -
Java 7 同步组件Phaser
Java 7的并发包中推出了Phaser,其功能跟CyclicBarrier和CountDownLatch有些重叠,但是提供了更灵活的用法,例如支持动态调整注册任务的数量等。本文在Phaser自带的示例代码基础上进行一下简单的分析。 注册(Registration) Phaser支持通过register()和bulkRegister(int parties)方法来动态调整注册任务的数量转载 2013-09-16 16:28:19 · 1231 阅读 · 0 评论 -
线程同步组件
控制并发访问资源 semaphore是一个计数器,保护访问一个或多个共享资源。当一个线程要访问一个共享资源时,首先需要获取semaphore,如果semaphore内部计数器大于0,semaphore的计数器减一,并且允许访问共享资源。计数器大于0,意味着存在free资源可以被使用。否则,如果semaphore的计数器为0,semaphore将线程置入sleep状态,直到计数器大于0。s原创 2013-09-16 09:48:12 · 833 阅读 · 0 评论 -
线程执行器
Java Executor framework是围绕Executor接口和它的子接口ExecutorService和ThreadPoolExecutor类实现了上述两接口。此机制将创建和执行任务分离,使用executor,仅需要实现Runnable对象,发送给executor。executor负责执行,初始化和运行必要的线程。 executor framework的另外一个特点是Call原创 2013-09-17 11:20:49 · 1032 阅读 · 0 评论 -
Java并发
http://www.blogjava.net/xylz/archive/2010/07/08/325587.html JUC的整体认识:转载 2012-09-10 09:55:25 · 587 阅读 · 0 评论