一个方法最多2个线程同时使用的JAVA实现

上传人:公**** 文档编号:543208186 上传时间:2022-10-24 格式:DOCX 页数:3 大小:15.05KB
返回 下载 相关 举报
一个方法最多2个线程同时使用的JAVA实现_第1页
第1页 / 共3页
一个方法最多2个线程同时使用的JAVA实现_第2页
第2页 / 共3页
一个方法最多2个线程同时使用的JAVA实现_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《一个方法最多2个线程同时使用的JAVA实现》由会员分享,可在线阅读,更多相关《一个方法最多2个线程同时使用的JAVA实现(3页珍藏版)》请在金锄头文库上搜索。

1、一个方法最多2个线程同时使用的JAVA实现比如下面这个类 class test public void methodA() /methodA同时有多个线程在访问,请问如何填充这个方法,使最多只有2个线程调用methodB,当调用完成后,其他那些方法才能继续调用 methodB(); private void method 比如下面这个类 class test public void methodA() /methodA同时有多个线程在访问,请问如何填充这个方法,使最多只有2个线程调用methodB,当调用完成后,其他那些方法才能继续调用 methodB(); private void meth

2、odB() 答案:重点是,1 保证只有2个实例可用,且每个实例的方法做成同步。1. import java.util.concurrent.BlockingDeque; 2. import java.util.concurrent.LinkedBlockingDeque; 3. 4. /* 5. * 一个方法最多2个线程同时使用的实现。 6. * 使用BlockingDeque保证同步的机制和阻塞访问。 7. * 8. * author 老紫竹 JAVA世纪网() 9. * 10. */ 11. public class Test extends Thread 12. public stati

3、c void main(String args) 13. for (int i = 0; i 0) 21. OnlyTwo o = OnlyTwo.getInstance(); 22. o.test(); 23. OnlyTwo.returnInstance(o); 24. try 25. Thread.sleep(10); 26. catch (InterruptedException e) 27. e.printStackTrace(); 28. 29. 30. 31. 32. 33. class OnlyTwo 34. private static int NUM = 1; 35. pr

4、ivate String name; 36. 37. private OnlyTwo() 38. name = NUM + NUM; 39. NUM+; 40. 41. 42. private static BlockingDeque data = new LinkedBlockingDeque( 43. 2); 44. static 45. data.push(new OnlyTwo(); 46. data.push(new OnlyTwo(); 47. 48. 49. public static OnlyTwo getInstance() 50. try 51. return data.t

5、akeFirst(); 52. catch (InterruptedException e) 53. e.printStackTrace(); 54. return null; 55. 56. 57. 58. public static void returnInstance(OnlyTwo t) 59. try 60. data.putLast(t); 61. catch (InterruptedException e) 62. e.printStackTrace(); 63. 64. 65. 66. publicvoid test() 67. / 实例同步,避免对象被重复使用 68. synchronized(this) 69. System.out.println(test + name); 70. 71. 72. 73. 这个是我唯一想到的办法,我会仔细看其它朋友的信号,标志方法。从原理上想,难度很高,因为修改信号也需要同步,如果全部同步,就只能保证一个线程能访问了。原文出处:中软卓越http:/ http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号