初学Java多线程:使用Synchronized块同步变量
我们可以通过synchronized块来同步特定的静态或非静态方法。要想实现这种需求必须为这些特性的方法定义一个类变量,然后将这些方法的代码用synchronized块括起来,并将这个类变量作为参数传入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. }
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>