February 18, 2004

Reactor pattern在java中的實作

post在jsptw
目前先看這邊吧...
以後我會把我的文章都整理在我的網頁中的....^^

Posted by popcorny at 01:41 PM | Comments (10)

February 16, 2004

JiaYun的blog換位置囉

http://blog.jiayun.org

Posted by popcorny at 09:27 PM | Comments (220)

ppy的blog換位置囉

我女朋友的..:D
大家可以去逛逛...
http://www.cis.nctu.edu.tw/~is90078/blog/

Posted by popcorny at 04:51 PM | Comments (9)

預官成績

准考證號碼:93101710 姓名:陸振恩
就讀學校:交通大學
就讀科系:資訊科學所
智力測驗:119 國文:47.5 英文:70
憲法與立國精神:65 計算機概論:85 共同科目總分:267.5

還可以啦
反正我只要有預官/預士資格就好...XD

Posted by popcorny at 04:05 PM | Comments (8)

網路程式設計的Patterns-什麼情況要用什麼pattern?

有寫過網路程式的人寫server的程式最常用的方法就是
Master/Slave threads這種寫法
也就是當有人連進來的時候
產生一個thread去專職服務該連線
我也不知道這是什麼pattern..
不過是大家最常用的

到了j2se1.4的時候
new i/o加進了j2se...
裡面包跨了non-blocking I/O以及Selecter這種概念
在這個架構中..
socket(更明確的說是SelectableChannel)
要跟selector去註冊要處理的operation.. (read/write/accpet/connect)
而selector會不斷的去呼叫一個select的blocking method
當有一個以上註冊在此selector的channel operation是可以動作時
則會此method會返回
之後就一個一個去呼叫這些operation
這個pattern在POSA2叫做Reactor pattern

再到了j2se1.5聽說加進了aio (Aysnchronous I/O)
這個可能有人用過POSIX的aio這個library...
它的行為很像signal handler的機制
在signal handler中..
我們針對某個signal去註冊一個callback function
當signal產生時..則會回呼此function去處理
同樣的aio的概念就是去註冊handler到read/write等的operation
當read/write變成available的時候則回呼handler
這個在POSA2叫做Proactor pattern

現在我想討論的是
什麼情況該要用什麼pattern比較好
比較肯定的是
在第一個pattern中比較適合簡單..
同時連線數目少的server...
如此雖然每個connection要一個thread處理..
但人數不多的化thread的各數還算可以接受

但是人數多的時候
可能就要用nio的selector了
那aio呢
non-blocking io跟asynchronous io分別在哪些時機比較合適
有沒有人有經驗的???

Posted by popcorny at 04:03 PM | Comments (623)