基础
- join()方法:在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程的处理结果,也就是主线程需要等待子线程执行完成之后再结束,这个时候就要用到join()方法了。
- wait方法: 调用obj的wait(), notify()方法前,必须获得obj锁,也就是必须写在synchronized(obj){…} 代码段内以及调用obj.wait()后,线程A就释放了obj的锁,否则线程B无法获得obj锁,也就无法在synchronized(obj){…} 代码段内唤醒A。
- synchronized关键字: 某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法