锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久综合中文字幕,一本久久免费视频,久久久精品一区二区三区http://www.shnenglu.com/mysileng/category/20569.htmlzh-cnSat, 22 Jun 2013 04:48:35 GMTSat, 22 Jun 2013 04:48:35 GMT60Reactor妯″紡 (杞?http://www.shnenglu.com/mysileng/archive/2013/01/17/197337.html閼緳閼緳Thu, 17 Jan 2013 05:38:00 GMThttp://www.shnenglu.com/mysileng/archive/2013/01/17/197337.htmlhttp://www.shnenglu.com/mysileng/comments/197337.htmlhttp://www.shnenglu.com/mysileng/archive/2013/01/17/197337.html#Feedback0http://www.shnenglu.com/mysileng/comments/commentRss/197337.htmlhttp://www.shnenglu.com/mysileng/services/trackbacks/197337.htmlReactor榪欎釜璇嶈瘧鎴愭眽璇繕鐪熸病鏈変粈涔堝悎閫傜殑錛屽緢澶氬湴鏂瑰彨鍙嶅簲鍣ㄦā寮忥紝浣嗘洿澶氬ソ鍍忓氨鐩存帴鍙玶eactor妯″紡浜嗭紝鍏跺疄鎴戣鐫鍙簲絳旇呮ā寮忔洿濂界悊瑙d竴浜涖傞氳繃浜嗚В錛岃繖涓ā寮忔洿鍍忎竴涓緧鍗紝涓鐩村湪絳夊緟浣犵殑鍙敜錛屾垨鑰呭彨鍙敜鍏姐?/p>

 

騫跺彂緋葷粺甯鎬嬌鐢╮eactor妯″紡錛屼唬鏇垮父鐢ㄧ殑澶氱嚎紼嬬殑澶勭悊鏂瑰紡錛岃妭鐪佺郴緇熺殑璧勬簮錛屾彁楂樼郴緇熺殑鍚炲悙閲忋?/p>

 

鍏堢敤姣旇緝鐩磋鐨勬柟寮忔潵浠嬬粛涓涓嬭繖縐嶆柟寮忕殑浼樼偣錛岄氳繃鍜屽父鐢ㄧ殑澶氱嚎紼嬫柟寮忔瘮杈冧竴涓嬶紝鍙兘鏇村ソ鐞嗚В銆?/p>

浠ヤ竴涓楗負渚嬶紝姣忎竴涓漢鏉ュ氨槨愬氨鏄竴涓簨浠訛紝浠栦細鍏堢湅涓涓嬭彍鍗曪紝鐒跺悗鐐歸銆傚氨鍍忎竴涓綉绔欎細鏈夊緢澶氱殑璇鋒眰錛岃姹傛湇鍔″櫒鍋氫竴浜涗簨鎯呫傚鐞嗚繖浜涘氨槨愪簨浠剁殑灝遍渶瑕佹垜浠殑鏈嶅姟浜哄憳浜嗐?/p>

 

鍦ㄥ綰跨▼澶勭悊鐨勬柟寮忎細鏄繖鏍風殑錛?/p>

涓涓漢鏉ュ氨槨愶紝涓涓湇鍔″憳鍘繪湇鍔★紝鐒跺悗瀹漢浼氱湅鑿滃崟錛岀偣鑿溿?鏈嶅姟鍛樺皢鑿滃崟緇欏悗鍘ㄣ?/p>

浜屼釜浜烘潵灝遍錛屼簩涓湇鍔″憳鍘繪湇鍔?#8230;…

浜斾釜浜烘潵灝遍錛屼簲涓湇鍔″憳鍘繪湇鍔?#8230;…

 

榪欎釜灝辨槸澶氱嚎紼嬬殑澶勭悊鏂瑰紡錛屼竴涓簨浠跺埌鏉ワ紝灝變細鏈変竴涓嚎紼嬫湇鍔°傚緢鏄劇劧榪欑鏂瑰紡鍦ㄤ漢灝戠殑鎯呭喌涓嬩細鏈夊緢濂界殑鐢ㄦ埛浣撻獙錛屾瘡涓浜洪兘鎰熻鑷繁鏄疺IP錛屼笓浜烘湇鍔$殑銆傚鏋滈鍘呬竴鐩磋繖鏍峰悓涓鏃墮棿鏈澶氭潵5涓浜猴紝榪欏槨愬巺鏄彲浠ュ緢濂界殑鏈嶅姟涓嬪幓鐨勩?/p>

 

鏉ヤ簡涓涓ソ娑堟伅錛屽洜涓鴻繖瀹跺簵鐨勬湇鍔″ソ錛屽悆楗殑浜哄浜嗚搗鏉ャ傚悓涓鏃墮棿浼氭潵10涓浜猴紝鑰佹澘寰堝紑蹇冿紝浣嗘槸鍙湁5涓湇鍔″憳錛岃繖鏍峰氨涓嶈兘涓瀵逛竴鏈嶅姟浜嗭紝鏈変簺瀹漢灝辮娌℃湁浜虹浜嗐傝佹澘灝卞張璇蜂簡5涓湇鍔″憳錛岀幇鍦ㄥソ浜嗭紝鍙堣兘姣忎釜浜洪兘鍙梀IP寰呴亣浜嗐?/p>

 

瓚婃潵瓚婂鐨勪漢瀵硅繖瀹墮鍘呮弧鎰忥紝瀹㈡簮鍙堝浜嗭紝鍚屾椂鏉ュ悆楗殑浜哄埌浜?0浜猴紝鑰佹澘楂樺叴涓嶈搗鏉ヤ簡錛屽啀璇鋒湇鍔″憳鍚э紝鍗犲湴鏂逛笉璇達紝榪樿寮宸ラ挶錛屽啀璇蜂漢灝辨敀涓嶅埌閽變簡銆傛庝箞鍔炲憿錛熻佹澘鎯充簡鎯籌紝10涓湇鍔″憳瀵逛粯20涓浜轟篃鏄兘瀵逛粯榪囨潵鐨勶紝鏈嶅姟鍛樺嫟蹇偣灝卞ソ浜嗭紝浼哄欏畬涓涓浜洪┈涓婁己鍊欏彟澶栦竴涓紝榪樻槸鏉ュ緱鍙婄殑銆傜患鍚堣冭檻浜嗕竴涓嬶紝鑰佹澘鍐沖畾灝變嬌鐢?0涓湇鍔′漢鍛樼殑綰跨▼姹犲暒~~~

 

浣嗘槸榪欐牱鏈変竴涓瘮杈冧弗閲嶇殑緙虹偣灝辨槸錛屽鏋滄鍦ㄦ帴鍙楁湇鍔″憳鏈嶅姟鐨勫浜虹偣鑿滃緢鎱紝鍏朵粬鐨勫浜哄彲鑳藉氨瑕佺瓑濂介暱鏃墮棿浜嗐傛湁浜涚伀鐖嗚劸姘旂殑瀹漢鍙兘灝辯瓑涓嶄簡璧頒漢浜嗐?/p>

 

Reactor濡備綍澶勭悊榪欎釜闂鍛細

鑰佹澘鍚庢潵鍙戠幇錛屽浜虹偣鑿滄瘮杈冩參錛屽ぇ閮ㄦ湇鍔″憳閮藉湪絳夌潃瀹漢鐐硅彍錛屽叾瀹炲共鐨勬椿涓嶆槸澶銆傝佹澘鑳藉綋鑰佹澘褰撶劧鏈夌偣涓嶄竴鏍風殑鍦版柟錛岀粓浜庡彂鐜頒簡涓涓柊鐨勬柟娉曪紝閭e氨鏄細褰撳浜虹偣鑿滅殑鏃跺欙紝鏈嶅姟鍛樺氨鍙互鍘繪嫑鍛煎叾浠栧浜轟簡錛岀瓑瀹漢鐐瑰ソ浜嗚彍錛岀洿鎺ユ嫑鍛間竴澹?#8220;鏈嶅姟鍛?#8221;錛岄┈涓婂氨鏈変釜鏈嶅姟鍛樿繃鍘繪湇鍔°傚樋鍢匡紝鐒跺悗鍦ㄨ佹澘鏈変簡榪欎釜鏂扮殑鏂規硶涔嬪悗錛屽氨榪涜浜嗕竴嬈¤鍛橈紝鍙暀浜嗕竴涓湇鍔″憳錛佽繖灝辨槸鐢ㄥ崟涓嚎紼嬫潵鍋氬綰跨▼鐨勪簨銆?/p>

 

瀹為檯鐨勯棣嗛兘鏄敤鐨凴eactor妯″紡鍦ㄦ湇鍔°備竴浜涜璁$殑妯″瀷鍏跺疄閮芥槸浠庣敓媧諱腑鏉ョ殑銆?/p>

 

Reactor妯″紡涓昏鏄彁楂樼郴緇熺殑鍚炲悙閲忥紝鍦ㄦ湁闄愮殑璧勬簮涓嬪鐞嗘洿澶氱殑浜嬫儏銆?/p>

 

鍦ㄥ崟鏍哥殑鏈轟笂錛屽綰跨▼騫朵笉鑳芥彁楂樼郴緇熺殑鎬ц兘錛岄櫎闈炲湪鏈変竴浜涢樆濉炵殑鎯呭喌鍙戠敓銆傚惁鍒欑嚎紼嬪垏鎹㈢殑寮閿浼氫嬌澶勭悊鐨勯熷害鍙樻參銆傚氨鍍忎綘涓涓漢鍋氫袱浠朵簨鎯咃紝1銆佸墛涓涓嫻鏋溿?銆佸垏涓涓タ鐡溿傞偅浣犲彲浠ヤ竴浠朵竴浠剁殑鍋氾紝鎴戞兂浣犱篃浼氫竴浠朵竴浠剁殑鍋氥傚鏋滆繖涓椂鍊欎綘浣跨敤澶氱嚎紼嬶紝涓浼氬効鍓婅嫻鏋滐紝涓浼氬垏瑗跨摐錛屽彲浠ョ浉鍍忕┒绔熸槸鍝釜閫熷害蹇傝繖涔熷氨鏄涓轟粈涔堝湪鍗曟牳鏈轟笂澶氱嚎紼嬫潵澶勭悊鍙兘浼氭洿鎱€?/p>

 

浣嗗綋鏈夐樆紕嶆搷浣滃彂鐢熸椂錛屽綰跨▼鐨勪紭鍔挎墠浼氭樉紺哄嚭鏉ワ紝鐜板湪浣犳湁鍙﹀涓や歡浜嬫儏鍘誨仛錛?銆佸墛涓涓嫻鏋溿?銆佺儳涓澹跺紑姘淬傛垜鎯蟲病鏈変漢浼氬幓鍋氬畬涓浠跺啀鍋氬彟涓浠訛紝浣犺偗瀹氫細涓杈圭儳姘達紝涓杈瑰氨鎶婅嫻鏋滃墛浜嗐?/p>

 


杞嚜:http://daimojingdeyu.iteye.com/blog/828696



閼緳 2013-01-17 13:38 鍙戣〃璇勮
]]>
Java Observable 妯″紡(杞?http://www.shnenglu.com/mysileng/archive/2012/09/26/192077.html閼緳閼緳Wed, 26 Sep 2012 06:30:00 GMThttp://www.shnenglu.com/mysileng/archive/2012/09/26/192077.htmlhttp://www.shnenglu.com/mysileng/comments/192077.htmlhttp://www.shnenglu.com/mysileng/archive/2012/09/26/192077.html#Feedback0http://www.shnenglu.com/mysileng/comments/commentRss/192077.htmlhttp://www.shnenglu.com/mysileng/services/trackbacks/192077.html涓銆丱bserver妯″紡鐨勬剰鍥撅細

                鍦ㄥ璞$殑鍐呴儴鐘舵佸彂鐢熷彉鍖栨椂錛岃嚜鍔ㄩ氱煡澶栭儴瀵硅薄榪涜鍝嶅簲銆?/p>

浜屻丱bserver妯″紡鐨勬瀯鎴愶細

               ·琚瀵熻咃細鍐呴儴鐘舵佹湁鍙兘琚敼鍙橈紝鑰屼笖鍙堥渶瑕侀氱煡澶栭儴鐨勫璞?/p>

               ·瑙傚療鑰咃細闇瑕佸鍐呴儴鐘舵佺殑鏀瑰彉鍋氬嚭鍝嶅簲鐨勫璞?/p>

涓夈丱bserver妯″紡鐨凧ava瀹炵幇錛?/p>

                Java鐨凙PI涓凡緇忎負鎴戜滑鎻愪緵浜哋bserver妯″紡鐨勫疄鐜般傚叿浣撶敱java.util.Observable綾誨拰java.util.Observer鎺ュ彛瀹屾垚銆?/p>

                鍓嶈呮湁涓や釜閲嶈鐨勬柟娉曪細

                       ·setChanged錛氳緗唴閮ㄧ姸鎬佷負宸叉敼鍙?/p>

                       ·notifyObservers(Object obj)錛氶氱煡瑙傚療鑰呮墍鍙戠敓鐨勬敼鍙橈紝鍙傛暟obj鏄竴浜涙敼鍙樼殑淇℃伅

                鍚庤呮湁涓涓牳蹇冩柟娉曪細

                       ·update(Object obj)錛氱浉搴旇瑙傚療鑰呯殑鏀瑰彉錛屽叾涓璷bj灝辨槸琚瀵熻呬紶閫掕繃鏉ョ殑淇℃伅錛岃鏂規硶浼氬湪notifyObservers琚皟鐢ㄦ椂鑷姩璋冪敤銆?/p>

              涓嬮潰鏄疧bserver妯″紡鐨勫疄鐜拌繃紼嬶細

                     ·鍒涘緩涓涓瑙傚療鑰咃紝緇ф壙java.util.Observable

                     ·鍒涘緩涓涓瀵熻咃紝瀹炵幇java.util.Observer鎺ュ彛

                    · 娉ㄥ唽瑙傚療鐫錛岃皟鐢╝ddObserver(Observer observer)

                    ·鍦ㄨ瑙傚療鑰呮敼鍙樺璞″唴閮ㄧ姸鎬佺殑鍦版柟錛岃皟鐢╯etChanged()鏂規硶錛岀劧鍚庤皟鐢╪otifyObservers(Object)鏂規硶錛岄氱煡琚瀵熻?/p>

                   ·鍦ㄨ瀵熻呯殑update(Object)鏂規硶涓紝瀵規敼鍙樺仛鍑哄搷搴斻?/p>

鍥涖丱bserver妯″紡鐨勫ソ澶勶細

                 1.Observer妯″紡鐨勪紭鐐癸細

                       ·琚瀵熻呭彧闇瑕佺煡閬撹皝鍦ㄨ瀵熷畠錛屾棤闇鐭ラ亾鍏蜂綋鐨勮瀵熺粏鑺?/p>

                       ·琚瀵熻呬竴鏃﹀彂鐢熷彉鍖栵紝鍙渶瑕侀氳繃騫挎挱鐨勬柟寮忓憡鐭ヨ瀵熻咃紝鑷充簬娑堟伅濡備綍鍒拌揪鍒欎笉闇鐭ラ亾銆傝繖鏍風殑璇濇棤鐤戞秷闄や簡琚瀵熻呭拰瑙傚療鑰呬箣闂撮氫俊鐨勭‖緙栫爜

                       ·褰撲竴涓瑙傚療鑰呭悓鏃惰澶氫釜瑙傚療鐫瑙傚療鏃訛紝瑙傚療鑰呭彲浠ュ彧閫夋嫨鑷繁鎰熷叴瓚g殑浜嬩歡錛岃屽拷鐣ュ叾瀹冪殑浜嬩歡
   
                      ·澶氫釜瑙傚療鑰呯粍鍚堣搗鏉ュ彲浠ュ艦鎴愪竴涓瀵熼摼錛屽鏋滀竴鏃﹂渶瑕佸洖婊氬涓搷浣滐紝姝ゆ椂瑙傚療閾懼彲浠ュ彂鎸ヤ綔鐢?/p>

                      ·瑙傚療鑰呭彲浠ュ疄鏃跺琚瀵熷璞$殑鍙樺寲鍋氬嚭鍝嶅簲錛屼緥濡傝嚜鍔ㄥ憡璀︺佷腑鏂繍琛岀瓑


                2.榪愮敤Observer妯″紡鍙互

                     ·灞忚斀綰跨▼闂寸殑閫氫俊鏈哄埗錛氫緥濡備袱涓嚎紼嬩箣闂達紝涓葷嚎紼嬪彲浠ヤ綔涓鴻瀵熻咃紝鎵ц綰跨▼鏄瑙傚療鑰呫傚郊姝や箣闂村彧鐭ラ亾瀵規柟瀛樺湪錛屼絾涓嶇煡閬撲箣闂撮氫俊鐨勭粏鑺?/p>

                    ·娑堥櫎紜紪鐮侊細濡傛灉娌℃湁Observer妯″紡錛屽垯鍙兘閲囩敤鍥炶皟鐨勬ā寮忥紝鎴栬呭湪浠g爜涓樉紺哄湴璋冪敤瑙傚療鑰?/p>

                    ·浼樺寲寮傚父鏈哄埗錛氱壒鍒傚悎鍦ㄥ紓甯稿彂鐢熸椂鍚戦《灞傜洃鎺э紝鍑忓皯try-catch浠g爜閲?br />

浠g爜錛?/p>

 

  1. public class Observable {      
  2.     private boolean changed = false;      
  3.     private Vector obs;      
  4.          
  5.     //鍒涘緩琚瀵熻呮椂灝卞垱寤轟竴涓畠鎸佹湁鐨勮瀵熻呭垪琛紝娉ㄦ剰錛岃繖涓垪琛ㄦ槸闇瑕佸悓姝ョ殑銆?nbsp;     
  6.     public Observable() {      
  7.     obs = new Vector();      
  8.     }      
  9.      
  10.     /**    
  11.      * 娣誨姞瑙傚療鑰呭埌瑙傚療鑰呭垪琛ㄤ腑鍘?nbsp;   
  12.      */     
  13.     public synchronized void addObserver(Observer o) {      
  14.         if (o == null)      
  15.             throw new NullPointerException();      
  16.     if (!obs.contains(o)) {      
  17.         obs.addElement(o);      
  18.     }      
  19.     }      
  20.      
  21.     /**    
  22.      * 鍒犻櫎涓涓瀵熻?nbsp;   
  23.      */     
  24.     public synchronized void deleteObserver(Observer o) {      
  25.         obs.removeElement(o);      
  26.     }      
  27.      
  28.     /**    
  29.      * 閫氱煡鎿嶄綔錛屽嵆琚瀵熻呭彂鐢熷彉鍖栵紝閫氱煡瀵瑰簲鐨勮瀵熻呰繘琛屼簨鍏堣瀹氱殑鎿嶄綔錛屼笉浼犲弬鏁扮殑閫氱煡鏂規硶    
  30.      */     
  31.     public void notifyObservers() {      
  32.     notifyObservers(null);      
  33.     }      
  34.      
  35.     /**    
  36.      * 涓庝笂闈㈢殑閭d釜閫氱煡鏂規硶涓嶅悓鐨勬槸錛岃繖涓柟娉曟帴鍙椾竴涓弬鏁幫紝榪欎釜鍙傛暟涓鐩翠紶鍒拌瀵熻呴噷錛屼互渚涜瀵熻呬嬌鐢?nbsp;   
  37.      */     
  38.     public void notifyObservers(Object arg) {      
  39.           
  40.         Object[] arrLocal;      
  41.      
  42.     synchronized (this) {      
  43.         if (!changed)      
  44.                 return;      
  45.             arrLocal = obs.toArray();      
  46.             clearChanged();      
  47.         }      
  48.      
  49.         for (int i = arrLocal.length-1; i>=0; i--)      
  50.             ((Observer)arrLocal[i]).update(this, arg);      
  51.     }      
  52. }     
  53. public interface Observer {      
  54.     /**    
  55.      * This method is called whenever the observed object is changed. An    
  56.      * application calls an <tt>Observable</tt> object's    
  57.      * <code>notifyObservers</code> method to have all the object's    
  58.      * observers notified of the change.    
  59.      *    
  60.      * @param   o     the observable object.    
  61.      * @param   arg   an argument passed to the <code>notifyObservers</code>    
  62.      *                 method.    
  63.      */     
  64.     void update(Observable o, Object arg);      
  65. }      
  66. }     
  67. public class MailObserver implements Observer{      
  68.      
  69.     /**    
  70.      * 榪欎釜綾誨彇鍚嶄負MailObserver錛岄【鍚嶆濅箟錛屽ス鏄竴涓敤鏉ュ彂閫侀偖浠剁殑瑙傚療鑰?nbsp;   
  71.      */     
  72.     public void update(Observable o, Object arg) {      
  73.         System.out.println("鍙戦侀偖浠剁殑瑙傚療鑰呭凡緇忚鎵ц");      
  74.     }      
  75. }     
  76. public class JMSObserver implements Observer{      
  77.      
  78.     public void update(Observable o, Object arg) {      
  79.         System.out.println("鍙戦佹秷鎭粰jms鏈嶅姟鍣ㄧ殑瑙傚療鑰呭凡緇忚鎵ц");      
  80.     }      
  81. }     
  82. public class Subject extends Observable{      
  83.           
  84.     /**    
  85.      * 涓氬姟鏂規硶錛屼竴鏃︽墽琛屾煇涓搷浣滐紝鍒欓氱煡瑙傚療鑰?nbsp;   
  86.      */     
  87.     public void doBusiness(){      
  88.         if (true) {      
  89.             super.setChanged();      
  90.         }      
  91.         notifyObservers("鐜板湪榪樻病鏈夌殑鍙傛暟");      
  92.     }      
  93.      
  94.           
  95.     public static void main(String [] args) {      
  96.         //鍒涘緩涓涓瑙傚療鑰?nbsp;     
  97.         Subject subject = new Subject();      
  98.               
  99.         //鍒涘緩涓や釜瑙傚療鑰?nbsp;     
  100.         Observer mailObserver = new MailObserver();      
  101.         Observer jmsObserver = new JMSObserver();      
  102.               
  103.         //鎶婁袱涓瀵熻呭姞鍒拌瑙傚療鑰呭垪琛ㄤ腑      
  104.         subject.addObserver(mailObserver);      
  105.         subject.addObserver(jmsObserver);      
  106.               
  107.         //鎵ц涓氬姟鎿嶄綔      
  108.         subject.doBusiness();      
  109.     }      
  110. }    

 

 



閼緳 2012-09-26 14:30 鍙戣〃璇勮
]]>
AAA级久久久精品无码片| 国产成人久久精品激情| 久久精品无码一区二区日韩AV| 久久777国产线看观看精品| 韩国三级中文字幕hd久久精品| 久久久久久久综合日本| 亚洲AV无码久久寂寞少妇| 青青草国产精品久久| 国产99久久久国产精品小说| 欧美亚洲色综久久精品国产| 国产精品狼人久久久久影院| 久久人人爽人人爽人人片AV东京热| 久久久久久亚洲精品成人| 久久人人爽人人爽人人片AV东京热| 精品多毛少妇人妻AV免费久久| 国产精品欧美亚洲韩国日本久久| 久久婷婷五月综合成人D啪| 亚洲成人精品久久| 人妻久久久一区二区三区| 欧美日韩精品久久久久| 2022年国产精品久久久久| 久久精品国产清自在天天线| 国产日韩欧美久久| 7777久久亚洲中文字幕| 综合网日日天干夜夜久久| 性欧美大战久久久久久久| 久久免费美女视频| 精品免费tv久久久久久久| 亚洲中文字幕无码久久精品1| 青春久久| 午夜视频久久久久一区| 国产成人精品久久| 国产女人aaa级久久久级| 亚洲国产精品久久久久| 国产精品久久久亚洲| 激情伊人五月天久久综合| 久久国产乱子伦免费精品| 国内精品九九久久精品| 亚洲中文字幕久久精品无码喷水 | 伊人久久大香线蕉av不变影院| 精品欧美一区二区三区久久久|