摘要:
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动 是系统进行资源分配和调度的基本单位 是系统中正在运行的一个用不程序 进程是程序执行的一个实例 线程是进程的一个实体 是CPU调度的基本单位 线程是比进程更小的能独立运行的基本单位 线程只拥有少量运行过程中必不可少的资源(程序计数器) 同一 阅读全文
2018年8月6日
摘要:
1.继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口) 2.实现Runnable接口,重写run方法 3.实现Callable接口,重写call方法(有返回值) 4.使用线程池(有返回值) 1.继承Thread类,重写run方法 每次创建一个新的线程,都要新建一 阅读全文
摘要:
1.可重入锁 synchronized和Lock都是可重入锁 表明了锁的分配机制是基于线程,而不是基于方法 例如,在一个同步方法中调用了另一个同步方法,再进入第二个同步方法时,不需要重新申请锁 2.可中断锁 synchronized是不可中断的。 一个线程已经获得了某对象的锁,另一个线程想获得该对象 阅读全文
摘要:
synchronized Java关键字 同步代码块、同步方法、静态同步方法 一个代码块或者一个方法被synchronized关键字修饰之后,如果一个线程获得了当前对象的monitor之后,就执行该代码块或方法,其它线程一直等待(阻塞) 获得对象锁的线程何时释放锁? (1)同步代码块或者同步方法执行 阅读全文
摘要:
jdk1.5之后 java.util.concurrent.locks.Lock Lock接口 方法:lock unlock newCondition tryLock tryLock(?) lockInterruptibly 实现类:ReentrantLock ReadLock WriteLock 阅读全文
摘要:
Java中的每一个对象都有一个监视器 Object类的wait和notify、notifyAll方法必须在synchronized块中调用 调用一个对象的notify、notifyAll方法时,当前线程必须持有该对象的监视器monitor,否则抛出IllegalMonitorStateExcepti 阅读全文
摘要:
1.Object类 wait(空参的)线程进入waiting状态(有参的)线程进入timed_waiting状态 notify notifyAll (1)notify public final native void notify(); 调用一个Object对象的notify()方法,就会唤醒一个正 阅读全文