2011-05-11 52 views
0

我正在研究.NET messenger服務的庫。基於套接字的程序中的事件和線程

它具有到主通知服務器的連接以及每個即時消息傳遞會話的連接。所有使用開始/結束異步方法處理。

目前,圖書館用戶(即MessageReceieved)的事件在讀取回調線程內部調用(儘管遍歷了幾個不同的層,消息解析和什麼不是)。

這很好,它只是意味着圖書館用戶必須小心。例如,其中一個事件處理程序中的阻塞操作將阻止任何數據被接收。

這是一個可接受的/標準的做事方式?如果需要,我可以輕鬆地在線程池線程上引發事件。

回答

0

最終我決定這是可以接受的。您將看到與Windows窗體相同的問題。例如,如果您在Clicked事件處理程序中執行阻止操作,則整個表單會鎖定。