线程有三种创建模式继承thread类,重写run方法,实现runable接口,重写run方法,实现callable方法,重写call方法。第三种有返回值,如果要获取返回值,主线程会被阻塞。
线程的状态 new创建,start 就绪,run运行,sleep阻塞,运行结束关闭。
syncronised关键字就是让线程排队,加载类上,调用此类方法都要排队,加在方法上,锁为此类当前对象,在代码块中,锁指定位多个线程运行时共用的对象即可。
死锁:一线程 拿到a对象锁不释放,二线程拿到b对象锁不释放,这时候一线程又想拿b对象锁,二线程又想拿a对象锁。
syncronised(a){
syncronised(b){
}
}
Class 用于获取在方法区内的字节码信息,让代码更灵活。