一.实现线程的三种方式:
1).继承Thread类
2).实现Runnable接口;
3).实现Callable接口;
二.线程中常用的方法:
1).getName()/setName():获取/设置线程名称;
2).sleep():当前线程休眠指定毫秒;
3).currentThread():获取当前正在执行的线程;
4).start():启动线程;
三.线程的状态图:
1).新建-->就绪-->运行(阻塞)-->死亡;
2).当调用线程start()方法启动线程时,会立即执行线程的run()方法,这种说法是否正确?
当线程的sleep()方法时间到时,会立即恢复运行,这种说法是否正确?
四.同步的三种方式:
1).同步方法:
public synchronized void show(){
}
注:
1.静态方法可以被同步;
2.静态方法中可以包含同步代码块;
2).同步代码块:
synchronized(被锁的对象){
}
3).JDK5的Lock锁:
Lock lock = ....;
lock.lock();//加锁
try{
//同步代码
}finally{
lock.unlock();//释放锁
}
五.死锁:避免死锁的情况;
|
|