- 博客(6)
- 收藏
- 关注
翻译 6.2阻碍循环(Cyclic Barriers)
一个cyclicbarrier让一堆的线程处于等待状态,它们彼此之间会有相同的阻碍点。这个阻碍是循环的,因为当等待的线程等到释放且,它可能会被重复利用。这个同步器在应用的程序中是非常有用的,它会执行一个固定大小的线程,偶尔必须等待每一个线程。 java.util.concurrent.CyclicBarrier类继续一个循环的阻碍同步器。你可以通过执行这个类的CyclicBarrier
2017-10-14 17:09:52 377
翻译 6.1倒计时锁(Countdown Latches)
Countdown Latches会让一个或多个线程处于等待,直到其它线程为它开户“门”;也就是说有空闲的线程出现才行。关键还是在于这些其它的线程会一直执行下去。Countdown Latches是有一个计数器,它会让线程处于等待状态直到计算达到‘0’,而这个计数是在递减的。 java.util.concurrent.CountDownLatch继承countdown latch的同步
2017-10-14 17:07:01 690
翻译 6. 同步化器(Synchronizers)
Java提供了同步的关键字给同步线程,是一个极其关键的部分。因为在并发的工具类里,包含着synchronized、高级的synchronizers(这个类有助于普通形式类的同步),可以更容易地、正确地写出同步的代码。在这一章节里,我将同你介绍countdown latch、cyclic barrier、exchanger、semaphore和phaser的同步对象。
2017-10-14 17:06:17 470
翻译 5.3总结
java的低级线程的性能方法,不足以让你在单线程的计算机上,运行多线程的应用,或更好表现出应用性能。因此,导致Java5设计出了并发的工具应用。 并发的工具主是位于三个包:java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.locks。executors的基础风格、threadpool(线程池)、c
2017-10-14 17:05:26 172
原创 5.2探究执行器(Executors)
你可以通过java提供的线程API来执行任务,像创建一个java.lang.Thread(newRunnableTask()).start();这个应用在可以执行多任务的机器表现更为明显(运行当前线程,创建线程和在线程池中随意选择执行线程)。 Note 一个任务就是一个对象,它会继承java.lang.Runnable的接口(执行的任务)或者继承java.util.concu
2017-10-14 17:02:56 331
翻译 5.并发工具和执行器(Concurrency Utilities and Executors)5.1 并发工具介绍
5.1并发工具介绍 java简单的线程可以满足你去创建多线程的应用,相对单线程来说,java的简单线程的接口应用还是有一定的代表性的。可是那些简单的应用却有如下的问题: java的简单并发工具应用经常不能够被正确使用,如synchronized和wait()/notify()的工具。这些不正确的工具使用,或说早期的工具会用,将会导致线程间的竞争的现象中出现如
2017-10-14 17:00:59 312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人