Java并发
文章平均质量分 84
曾慕多情应笑我
这个作者很懒,什么都没留下…
展开
-
线程同步辅助类(一)
1.资源的并发访问控制信号量:是一种计数器,用来保护一个或者多个共享资源的访问。如果线程要访问一个共享资源,它必须先获得信号量。如果信号量的内部计数器大于0,信号量将减1,然后允许访问这个共享资源。计数器大于0意味着有可以使用的资源,因此线程将被允许使用其中一个资源。import java.util.concurrent.Semaphore;public class PrintQu原创 2017-09-29 10:53:38 · 445 阅读 · 0 评论 -
线程同步基础(二)
6.修改锁的公平性ReentrantLock和ReentrantReadWriteLock类的构造器都含有一个布尔参数fair,它允许你控制这两个类的行为。默认fair值是false,他称为非公平模式。在非公平模式下,当有很多线程在等待锁时,锁将选择他们中的一个来访问临界区,这个选择是没有任何约束的。如果fair值是true,则称为公平模式,锁会选择等待时间最长的访问临界区。这两种模式只适用于原创 2017-09-29 08:46:58 · 340 阅读 · 0 评论 -
线程同步基础(一)
1.使用synchronized实现同步方法如果一个对象已用synchronized关键字声明,那么只有一个执行线程被允许访问它。如果其他某个线程试图访问这个对象的其它方法,它将被挂起,直到第一个线程执行完正在运行的方法。静态方法则有不同的行为。用synchronized关键字声明的静态方法,同时只能够被一个执行线程访问,但是其它的线程可以访问这个对象的两个不同的synchronized方原创 2017-09-28 11:40:11 · 392 阅读 · 0 评论 -
线程管理
1.2线程的创建和运行继承Thread类,并且覆盖run()方法创建一个实现Runnable接口的类。使用带参数的Thread构造器来创建Thread对象。这个参数就是实现Runnable接口的类的一个对象当一个程序的所有线程都运行完成时,更明确地说,当所有非守护线程都运行完成的时候,这个Java程序将宣告结束。如果执行main()方法的线程结束了。其余的线程仍将继续执行到他们运行原创 2017-09-26 15:52:49 · 436 阅读 · 0 评论