java线程知识点

本文章内容来自《Head First Java》第15章 网络联机 第517页 要点

1、Thread.sleep()这个静态方法可以强制线程进入等待状态到过了设定时间为止,例如Thread.sleep(200)会睡上200个毫秒。

2、可以调用sleep()让所有的线程都有机会运行。(有的时候线程之间的资源需要互相调用,睡一会儿可以保证所需线程已经运行出来。)

3、sleep()方法可能会抛出InterruptedException异常,所以要包在try/catch快,或者把它也声明出来。

4、你可以用setName()方法来帮线程命名,通常是用来除错的。

5、如果两个或以上的线程存取对上相同的对象可能会出现严重的问题。

6、如果两个或两个以上的新城存取相同的对象可能会引发数据的损毁。

7、要让对象在线程上有足够的安全性,就要判断出那些指令不能被分割执行。

8、使用synchronized这个关键词修饰符可以防止两个线程同时进入同一对象的统一方法。

9、每个对象都有单一的锁,单一的钥匙。这只会在对象带有同步化方法时才有实际的用途。

10、线程尝试要进入同步化过的方法时必须要取得对象的钥匙,如果因为已经被别的线程拿走了,那就得等。

11、对象就算是有多个同步化过的方法,也还是只有一个锁。一旦某个线程进入该对象的同步化方法,其他线程就无法进入该对象上的任何同步化线程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章