锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲综合在线一区二区三区,亚洲精品无码日韩国产不卡av,国产精品亚洲аv无码播放http://m.tkk7.com/java-blog/category/26886.htmlzh-cnSat, 27 Oct 2007 08:31:42 GMTSat, 27 Oct 2007 08:31:42 GMT60鐢熶駭鑰?娑堣垂鑰呮ā鍨?/title><link>http://m.tkk7.com/java-blog/articles/156355.html</link><dc:creator>涓姝ヤ竴姝ュ姫鍔涘悜涓婄埇</dc:creator><author>涓姝ヤ竴姝ュ姫鍔涘悜涓婄埇</author><pubDate>Sat, 27 Oct 2007 08:23:00 GMT</pubDate><guid>http://m.tkk7.com/java-blog/articles/156355.html</guid><wfw:comment>http://m.tkk7.com/java-blog/comments/156355.html</wfw:comment><comments>http://m.tkk7.com/java-blog/articles/156355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/java-blog/comments/commentRss/156355.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/java-blog/services/trackbacks/156355.html</trackback:ping><description><![CDATA[<span><span> 鐢熶駭鑰?娑堣垂鑰呮ā鍨嬫槸鏈鍩烘湰鐨勫茍鍙戝崗浣滄ā鍨嬶紝鏄墍鏈夊茍鍙戝崗浣滅殑鍩虹銆傚彲浠ヨ繖涔堣錛屽叾浠栫殑騫跺彂鍗忎綔閮芥槸渚涙眰鍏崇郴妯″瀷鐨勫彉縐嶃傜敓浜ц咃紝娑堣垂鑰呬箣闂寸殑渚涙眰鍏崇郴鍙互綆鍗曠殑 浣跨敤綆¢亾鏉ユ瀯閫犮傝鎴戜滑鐪嬩袱鑰呬箣闂寸殑琛屼負妯″紡錛? *鐢熶駭/娑堣垂妯″瀷錛氭秷璐硅呭鏋滄棤娑堣垂瀵硅薄錛屽氨浼氶樆濉炵洿鍒版湁娑堣垂瀵硅薄鍒拌揪錛涗竴涓秷璐瑰璞′粎渚涗竴涓秷璐硅呮秷璐廣? *BlockingQueue: 濡傛灉闃熷垪涓虹┖錛屽垯璇誨彇鎿嶄綔灝嗕細闃誨鐩磋嚦闃熷垪鏈夋柊鐨勫唴瀹瑰埌杈撅紱闃熷垪涓璞′竴鏃﹁璇誨彇錛屽皢浠庨槦鍒椾腑縐昏蛋銆? 鐢辨鍙錛岄樆濉為槦鍒楀ぉ鐒剁鍚堢敓浜?娑堣垂妯″瀷鐨勪緵姹傝涓烘ā寮忋傚湪鍓嶉潰灞曠ずcondition鐨勭敤娉曠殑鏃跺欙紝鏇劇粡 鐢ㄨ繃鐢熶駭鑰?娑堣垂鑰呮ā鍨嬫潵涓句緥銆傞偅涓緥瀛愬鏋滄敼鐢˙lockingQueue鏉ュ啓鐨勮瘽灝卞崄鍒嗙畝鍗? <pre> ...<br /> BlockingQueue<String> q =new ArrayBlockingQueue<String> (10);<br /> ...<br /> public void supply () {<br /> q.put("product by "+Thread.currentThread().getId()+":"+(++productNo));<br /> }<br /> ...<br /> public void cunsume () {<br /> String product =q.take();<br /> System.out.println("consume product:"+product);<br /> }<br /> </pre> 浠嶣lockingQueue涔熷彲浠ョ湅鍑猴紝瀹冨拰UNIX緋葷粺涓嬮潰鐨凱ipe鍗佸垎鐩鎬技銆傛墍涓嶅悓鐨勪笉榪囨槸涓ょ偣錛岄鍏堬紝pipe鏄繘紼嬮棿鐨勶紝鍛藉悕綆¢亾鐢氳嚦鍙互鍦ㄩ潪浜茬紭榪涚▼闂翠嬌鐢紝鑰孊lockingQueue 鐩墠鍙槸綰跨▼闂寸殑閫氫俊鎵嬫銆傚綋鐒訛紝鐢變簬java鏈韓寮哄ぇ鐨勫姩鎬佺被瑁呰澆鍔熻兘錛岃繖涓己闄峰java紼嬪簭涔嬮棿鐨勬矡閫氶檺鍒跺茍涓嶅ぇ銆傚叾嬈★紝pipe鏄熀浜庡瓧鑺傛祦鐨勶紝鑰孊lockingQueue鏄? 鍩轟簬瀵硅薄鐨勶紝榪欎嬌寰桞lockingQueue鏇村姞鏄撶敤錛屼笉榪囧嵈璁〣lockingQueue緇戝畾浜咼ava璇█錛屼嬌榪涗竴姝ユ垚涓鴻交閲忕駭鏈湴榪涚▼閫氫俊宸ュ叿鐨勯毦搴﹀澶с? <p>浠庡墠闈㈠鐢熶駭/娑堣垂妯″瀷鐨勮涓烘柟寮忓彲浠ョ湅鍑猴紝鐢熶駭/娑堣垂妯″瀷鐫閲嶄簬瑙勮寖娑堣垂鑰呯殑琛屼負妯″紡錛屽綋娑堣垂閫熷害瓚呰繃鐢熶駭閫熷害鐨勬椂鍊欙紝娑堣垂鑰呭氨浼氳闃誨銆傝屽浜庣敓浜ц呯殑琛屼負鍒欐病鏈? 瑙勫畾銆傚綋鐢熶駭閫熷害瓚呰繃娑堣垂閫熷害錛岀敓浜ц呯殑琛屼負妯″紡鍙互鍒嗕負浠ヤ笅鍑犵錛? #褰撶Н鍘嬬殑浜у搧杈懼埌涓瀹氭暟閲忔椂錛岀敓浜ц呰闃誨 #鏃犺鏈夊灝戠Н鍘嬩駭鍝侊紝鐢熶駭鑰呴兘涓嶄細琚樆濉? #涓嶈兘鏈変換浣曠Н鍘嬩駭鍝侊紝鐢熶駭鑰呭湪褰撳墠浜у搧鏈娑堣垂涔嬪墠錛屼細琚樆濉? 瀵逛簬浜у搧鏉ヨ錛屼篃鏈変笉鍚岀殑琛屼負妯″紡 #浜у搧鍙湁鍦ㄨ鐢熶駭鍑烘潵涓孌墊椂闂翠箣鍚庢墠鑳借娑堣垂(鍏堣姳鐐規椂闂存櫨鏅懼共錛? #涓嶅悓綾誨埆鐨勪駭鍝佽娑堣垂鐨勪紭鍏堢駭涓嶅悓(鏈夐捇鐭崇殑璇濓紝榛勯噾灝卞厛鏀句竴杈瑰惂:))</p> <p>鏍規嵁鐢熶駭鑰呰涓烘ā寮忕殑涓嶅悓Concurrent鍖呮彁渚涗簡涓嶅悓鐨凚lockingQueue鐨勫疄鐜? ||Queue縐嶇被||琛屼負鎻忚堪 |ArrayBlockingQueue<e>|鏈夐檺鍒剁殑blocking queue錛岀Н鍘嬬殑浜у搧涓嶅緱瓚呰繃鍒惰鏁伴噺 |DelayQueue<e>|浜у搧鍙湁鐢熶駭鍑轟竴孌墊椂闂翠箣鍚庯紝鎵嶈兘琚秷璐癸紝鏃犻檺鍒剁殑縐帇浜у搧 |LinkedBlockingQueue<e>|鍚屾椂鏀寔鏈夐檺鍒剁殑blocking queue錛屼篃鑳芥敮鎸佹棤闄愬埗鐨勭Н鍘嬩駭鍝侊紙鏁伴噺涓嶈兘瓚呰繃Integer.MAX_VALUE) |PriorityBlockingQueue<e>|涓嶅悓浜у搧鐨勮娑堣垂浼樺厛綰т笉鍚岋紝鏃犻檺鍒剁殑縐帇浜у搧 |SynchronousQueue<e>|涓嶅厑璁哥Н鍘嬩駭鍝?/e></e></e></e></e></p> <p>榪欎簺涓嶅悓鐨勮涓烘ā寮忎腑錛岃緝涓哄父瑙佺殑闄や簡ArrayBlockingQueue鍜孡inkedBlockingQueue涔嬪錛孭riorityBlockingQueue涔熼潪甯擱噸瑕併備婦渚嬫潵璇達紝濡傛灉鎴戜滑鍒╃敤BlockingQueue 鏉ュ疄鐜頒竴涓偖浠剁郴緇燂紙钁楀悕鐨剄mail灝辨槸鍒╃敤pipe鎶鏈瀯寤虹殑鏍稿績鏋舵瀯錛夈傛垜浠煡閬撻偖浠舵湁涓嶅悓鐨勭駭鍒紝濡傛灉褰撳墠闃熷垪閲屾湁鍔犳ラ偖浠墮渶瑕佸鐞嗙殑璇濓紝緋葷粺灝嗕紭鍏堝鐞嗗姞鎬ラ偖浠躲? 鎴戜滑灝嗕互閭歡浼犻掍負渚嬪瓙錛岃鏄嶱riorityBlockingQueue鐨勪嬌鐢ㄦ柟娉曘傦紙娉細榪欓噷鐨勮繖涓偖浠舵ā鍨嬪彧鏄竴涓潪甯哥畝闄嬬殑妯″瀷錛岀敤鏉ヨ鏄嶱riorityBlockingQueue鐨勪嬌鐢ㄦ柟娉曡屽凡錛? 鍜屽疄闄呭簲鐢ㄦ湁寰堝ぇ鐨勫樊璺濓級</p> <p>棣栧厛錛屾垜浠渶瑕佷簡瑙i偖浠朵紶閫掕繃紼嬬殑鍩烘湰妯″瀷銆傚湪榪欎釜綆鍗曠殑閭歡浼犻佹ā鍨嬩腑娑夊強鍒頒笅鍒楁蹇? *MDA: Mail Deliver Agent, 璐熻矗鎺ュ彈鎸囧畾鐢ㄦ埛鐨勯偖浠躲? *MTA: Mail Transfer Agent, 璐熻矗鎺ュ彈榪滅▼浼犻佽繃鏉ョ殑閭歡錛屽茍灝嗗叾浼犻佺粰鏀朵歡浜虹殑MDA 瀹冧滑鍜岄偖浠剁敤鎴蜂箣闂寸殑鍏崇郴濡備笅鍥?/p> <p><img src="http://blogsite.3322.org/page/download_attach?name=email.gif&page_id=1929" alt="" /></p> 鍏朵腑MTA浣跨敤Queue浼犻侀偖浠剁粰MDA銆傚洜姝わ紝涓嶅悓鐨勭敤鎴蜂細浣跨敤涓嶅悓鐨凪ail Queue銆備笅闈㈡槸MailQueue鐨勪唬鐮? <pre>public class MailQueue<E> extends PriorityBlockingQueue<E>{<br /> public E take () throws InterruptedException {<br /> E ren =super.take();<br /> Utils._log("take:"+ren);<br /> return ren;<br /> }<br /> <br /> public void put (E o) {<br /> super.put(o);<br /> Utils._log("put:"+o);<br /> }<br /> }<br /> </pre> 涓轟簡鑳藉鏍規嵁鏀朵歡浜虹殑Mail Address鎵懼埌鐩稿簲鐨凪ail Queue, 浣跨敤涓涓狹ailQueueFactory鏉ヤ駭鐢烳ailQueue <pre>public class MailQueueFactory {<br /> //A ConcurrentHashMap is used here instead of Hashtable<br /> static ConcurrentHashMap<MailAccount,MailQueue<Mail>> mailQueues =<br /> new ConcurrentHashMap<MailAccount,MailQueue<Mail>>(); <br /> public static BlockingQueue<Mail> getMailQueue (MailDeliverer e) {<br /> return getMailQueue(e.getMailAccount());<br /> }<br /> <br /> public static BlockingQueue<Mail> getReceiveMailQueue (Mail m) {<br /> return getMailQueue (m.getReceiver());<br /> }<br /> <br /> public static BlockingQueue<Mail> getMailQueue (MailAccount e) {<br /> mailQueues.putIfAbsent (e,new MailQueue<Mail>());<br /> MailQueue<Mail> mailQ =mailQueues.get(e);<br /> <br /> return mailQ;<br /> }<br /> }<br /> </pre> 闇瑕佹敞鎰忕殑鏄紝鎴戜滑鍦∕ailQueueFactory閲岄潰浣跨敤浜咰oncurrentHashMap錛岃屼笉鏄紶緇熺殑Hashtable, 铏界劧Hashtable鏄痶hread-safe錛屼絾鏄己涔弍utIfAbsent榪欐牱鐨? 鍘熷瓙鍑芥暟錛屽鏋滀笉灝忓績璁捐鐨勮瘽錛屼細閫犳垚瀵瑰悓涓涓狹ailQueue閲嶅鍒濆鍖栵紝浠庤屽鑷存閿侀棶棰樸? 涓嬮潰鐪婱ail鐨勫畾涔? <pre>public class Mail implements Comparable{<br /> public final static int emergencyMail =0;<br /> public final static int normalMail =1;<br /> <br /> static AtomicInteger serialCounter =new AtomicInteger(0);<br /> <br /> private int mailLevel;<br /> private int serialNumber =serialCounter.addAndGet(1);<br /> private MailAccount receiver =null;<br /> private MailAccount sender =null;<br /> private Date sendTime =new Date();<br /> <br /> public Mail (String from, String to, int level) {<br /> ...<br /> }<br /> <br /> //Get functions<br /> ...<br /> <br /> public int compareTo(Object o) {<br /> if (o instanceof Mail) {<br /> return compareTo ((Mail)o);<br /> }<br /> return 0;<br /> }<br /> <br /> public int compareTo (Mail o) {<br /> if (o.mailLevel==this.mailLevel) { //Same level, compare the serial no<br /> if (o.serialNumber==this.serialNumber)<br /> return 0;<br /> if (o.serialNumber>this.serialNumber)<br /> return -1;<br /> return 1;<br /> }<br /> if (this.mailLevel==emergencyMail) return -1;<br /> return 1;<br /> }<br /> //Other functions<br /> ...<br /> }<br /> </pre> 榪欓噷鍊煎緱娉ㄦ剰鐨勬槸AtomicInteger鐨勪嬌鐢紝瀹冭鐢ㄦ潵鍋氬唴閮╯erialNumber鐨勪駭鐢熴傚彟澶栧氨鏄痗ompareTo鍑芥暟鐨勪嬌鐢紝PriorityBlockingQueue浣跨敤Comparable鎺ュ彛鏉ュ垽瀹氬厓绱犵殑浼樺厛綰у埆銆傝繖閲屾墍瀹氫箟鐨勪紭鍏堢駭濡備笅錛? *濡傛灉閭歡綾誨埆鐩稿悓錛屽垯搴忓垪鍙峰皬鐨勯偖浠舵湁杈冨ぇ鐨勪紭鍏堢駭 *濡傛灉閭歡綾誨埆涓嶅悓錛屽垯emergencyMail鏈夎緝澶х殑浼樺厛綰? 鏈鍚庢槸Deliver Agent 鍜?Transfer Agent鐨勪唬鐮? <pre>public class MailDeliverer {<br /> MailAccount mailAccount =null;<br /> <br /> public MailDeliverer (MailAccount account) {<br /> this.mailAccount =account;<br /> }<br /> <br /> public MailAccount getMailAccount() {<br /> return mailAccount;<br /> }<br /> <br /> public Mail retrieveMail () {<br /> Mail mail =null;<br /> while (mail==null) {<br /> try {<br /> mail =MailQueueFactory.getMailQueue(this).take();<br /> }catch (Exception e) {<br /> Utils._log("Encounter Exception",e);<br /> }<br /> }<br /> return mail;<br /> }<br /> }<br /> <br /> public class MailTransfer {<br /> private static MailTransfer instance =new MailTransfer ();<br /> private MailTransfer () { }<br /> <br /> public static MailTransfer getInstance () {<br /> return instance;<br /> }<br /> <br /> public void processMail (Mail m) {<br /> BlockingQueue mailQ =MailQueueFactory.getReceiveMailQueue(m);<br /> try {<br /> mailQ.put(m);<br /> } catch (InterruptedException e) {<br /> e.printStackTrace();<br /> }<br /> }<br /> }<br /> <br /> </pre> </span></span> <img src ="http://m.tkk7.com/java-blog/aggbug/156355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/java-blog/" target="_blank">涓姝ヤ竴姝ュ姫鍔涘悜涓婄埇</a> 2007-10-27 16:23 <a href="http://m.tkk7.com/java-blog/articles/156355.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://xmm5pkt.com" target="_blank">亚洲中文字幕无码av永久</a>| <a href="http://hdznzdh.com" target="_blank">久久精品无码免费不卡</a>| <a href="http://8hnbuk14.com" target="_blank">亚洲三级在线免费观看</a>| <a href="http://81am.com" target="_blank">亚洲国产精品免费视频</a>| <a href="http://kyqp0022.com" target="_blank">另类免费视频一区二区在线观看</a>| <a href="http://oupur.com" target="_blank">亚洲精品午夜无码电影网</a>| <a href="http://av56cc.com" target="_blank">久99久无码精品视频免费播放</a>| <a href="http://av56cc.com" target="_blank">亚洲中久无码永久在线观看同</a>| <a href="http://whyandroid.com" target="_blank">国产成人无码免费看片软件</a>| <a href="http://hsewx.com" target="_blank">久久亚洲AV永久无码精品</a>| <a href="http://yamashida.com" target="_blank">三上悠亚在线观看免费</a>| <a href="http://xvwenyue.com" target="_blank">青青视频观看免费99</a>| <a href="http://whspmd.com" target="_blank">亚洲人成电影网站久久</a>| <a href="http://saozib.com" target="_blank">美女无遮挡拍拍拍免费视频</a>| <a href="http://jdwx58.com" target="_blank">亚洲一级特黄大片在线观看</a>| <a href="http://tc116.com" target="_blank">77777午夜亚洲</a>| <a href="http://pj9xx6.com" target="_blank">永久免费A∨片在线观看</a>| <a href="http://shelaoban.com" target="_blank">国产精品无码一区二区三区免费</a>| <a href="http://wanguoshan.com" target="_blank">亚洲欧美乱色情图片</a>| <a href="http://huakangweicai.com" target="_blank">国产在线观看免费视频播放器</a>| <a href="http://zf91.com" target="_blank">日韩一区二区三区免费播放</a>| <a href="http://ebanyou.com" target="_blank">国产亚洲精品成人a v小说</a>| <a href="http://bjbanjia01.com" target="_blank">青青操免费在线视频</a>| <a href="http://hwafarda.com" target="_blank">中文字幕亚洲精品</a>| <a href="http://lai228.com" target="_blank">亚洲天堂免费在线</a>| <a href="http://5ggy.com" target="_blank">亚洲av日韩av永久在线观看</a>| <a href="http://taiyu18.com" target="_blank">人人狠狠综合久久亚洲高清</a>| <a href="http://2030188.com" target="_blank">成人免费av一区二区三区</a>| <a href="http://777vip8.com" target="_blank">97亚洲熟妇自偷自拍另类图片</a>| <a href="http://24aabb.com" target="_blank">亚洲视频免费一区</a>| <a href="http://qiwangxuan.com" target="_blank">亚洲乱码日产精品一二三</a>| <a href="http://nh-car.com" target="_blank">亚洲人成无码久久电影网站</a>| <a href="http://ksp33.com" target="_blank">永久免费A∨片在线观看</a>| <a href="http://glgg99.com" target="_blank">日韩亚洲人成在线</a>| <a href="http://chaoxung.com" target="_blank">中文亚洲AV片在线观看不卡</a>| <a href="http://www-993789.com" target="_blank">精品无码国产污污污免费网站</a>| <a href="http://222mp3.com" target="_blank">亚洲一区视频在线播放</a>| <a href="http://88bgbg.com" target="_blank">免费精品无码AV片在线观看</a>| <a href="http://928348.com" target="_blank">国产成人亚洲综合色影视</a>| <a href="http://s8sb.com" target="_blank">国产区在线免费观看</a>| <a href="http://5gz0z.com" target="_blank">亚洲精品福利网泷泽萝拉</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>