快速业务通道

Java??3ì£o2¢·¢D-×÷-?à?? - ±à3ìè???í?

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

Java??3ì£o2¢·¢D-×÷-?à??

ê±??:2011-02-20 51cto2??í leizhimin

·¢éú?à??μ??-òòò?°?ê?á??????óμ????à?¥μè′y?ì3éμ??£

?ú??Java??3ì£o??3ìμ?í?2?ó????·ò????D£??òê??à??μ?????ó??òμ¥ày×ó£?μ?ê??ù??μ?ày×óê?2?íê??μ?£??aà???3?ò???íê??μ?ày×ó?£

/** *??Java??3ì£o2¢·¢D-×÷-?à?? * *??@author??Administrator */ public??class??Test??{ ???????????????? public??static??void??main(String[]??args)??{ ???????????????????????????????? DeadlockRisk??dead??=??new??DeadlockRisk(); ???????????????????????????????? MyThread??t1??=??new??MyThread(dead,??1,??2); ???????????????????????????????? MyThread??t2??=??new??MyThread(dead,??3,??4); ???????????????????????????????? MyThread??t3??=??new??MyThread(dead,??5,??6); ???????????????????????????????? MyThread??t4??=??new??MyThread(dead,??7,??8); ???????????????????????????????? t1.start(); ???????????????????????????????? t2.start(); ???????????????????????????????? t3.start(); ???????????????????????????????? t4.start(); ???????????????? } } class??MyThread??extends??Thread??{ ???????????????? private??DeadlockRisk??dead; ???????????????? private??int??a,??b; ???????????????? MyThread(DeadlockRisk??dead,??int??a,??int??b)??{ ???????????????????????????????? this.dead??=??dead; ???????????????????????????????? this.a??=??a; ???????????????????????????????? this.b??=??b; ???????????????? } ???????????????? @Override ???????????????? public??void??run()??{ ???????????????????????????????? dead.read(); ???????????????????????????????? dead.write(a,??b); ???????????????? } } class??DeadlockRisk??{ ???????????????? private??static??class??Resource??{ ???????????????????????????????? public??int??value; ???????????????? } ???????????????? private??Resource??resourceA??=??new??Resource(); ???????????????? private??Resource??resourceB??=??new??Resource(); ???????????????? public??int??read()??{ ???????????????????????????????? synchronized??(resourceA)??{ ???????????????????????????????????????????????? System.out.println("read():"??+??Thread.currentThread().getName()??+??"??è?á?resourceAμ???£?"); ???????????????????????????????????????????????? synchronized??(resourceB)??{ ???????????????????????????????????????????????????????????????? System.out.println("read():"??+??Thread.currentThread().getName()??+??"??è?á?resourceBμ???£?"); ???????????????????????????????????????????????????????????????? return??resourceB.value??+??resourceA.value; ???????????????????????????????????????????????? } ???????????????????????????????? } ???????????????? } ???????????????? public??void??write(int??a,??int??b)??{ ???????????????????????????????? synchronized??(resourceB)??{ ???????????????????????????????????????????????? System.out.println("write():"??+??Thread.currentThread().getName()??+??"??è?á?resourceAμ???£?"); ???????????????????????????????????????????????? synchronized??(resourceA)??

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号