进程和线程
并发和并行
创建线程方式
继承thread
实现runnable
实现callable
new Thread(new FutureTask<String>(new Callable<String>(){
@override
public String call(){
//代码
return "";
}
}))
加锁方式
同步代码块
Object obj = new Object();
synchronized(obj){
}
同步方法
实例方法
lock为this
public synchronized void method(){
}
静态方法
lock为 .class
public synchronized static void method(){
}
同步锁
reentrantlock
reentrantlock lock = new reentrantlock(true);
//true 公平锁 false 默认 独占锁
lock.lock();
try{
//代码
}
finally{
lock.unlock();
}
线程间通信
obj wait notify
condition await signal