使用Synchronized塊同步變量
我們可以通過(guò)synchronized塊來(lái)同步特定的靜態(tài)或非靜態(tài)方法。要想實(shí)現(xiàn)這種需求必須為這些特性的方法定義一個(gè)類變量,然后將這些方法的代碼用synchronized塊括起來(lái),并將這個(gè)類變量作為參數(shù)傳入synchronized塊。下面的代碼演示了如何同步特定的類方法package mythread;
2.
3.public class SyncThread extends Thread
4.{
5. private static String sync = "";
6. private String methodType = "";
7.
8. private static void method(String s)
9. {
10. synchronized (sync)
11. {
12. sync = s;
13. System.out.println(s);
14. while (true);
15. }
16. }
17. public void method1()
18. {
19. method("method1");
20. }
21. public static void staticMethod1()
22. {
23. method("staticMethod1");
24. }
25. public void run()
26. {
27. if (methodType.equals("static"))
28. staticMethod1();
29. else if (methodType.equals("nonstatic"))
30. method1();
31. }
32. public SyncThread(String methodType)
相關(guān)推薦:
2012年計(jì)算機(jī)等考四級(jí)數(shù)據(jù)庫(kù)工程師備考筆記匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |