關於Java NIO的一些問題,求助。
在一寫一個多使用者的Server程式。
現在的問題是在selector.select()方法上。
如果呼叫select()方法,阻塞方式等待事件,這個時候就不可以再在這個selector上註冊新的事件,我感覺是互相鎖了。
如果呼叫select(100)這樣的非阻塞方式,可以避開這個問題,但是影響效能,因為有很多空轉。
我嘗試著使用wakeup讓select()方法釋放對selector的鎖定,可是因為在while迴圈裡面執行得太快,下一個迴圈到來時候新的事件還沒有來得及註冊上結果又鎖上了。
目前使用的方法是在wakeup之後讓while迴圈sleep 10毫秒,雖然能解決這個問題,但是畢竟感覺不爽,又沒有高人能解決的。
簡單的說就是一個執行緒被select()方法掛起,另一個執行緒如果嘗試在這個selector上註冊事件則也會被掛起。
現在的問題是在selector.select()方法上。
如果呼叫select()方法,阻塞方式等待事件,這個時候就不可以再在這個selector上註冊新的事件,我感覺是互相鎖了。
如果呼叫select(100)這樣的非阻塞方式,可以避開這個問題,但是影響效能,因為有很多空轉。
我嘗試著使用wakeup讓select()方法釋放對selector的鎖定,可是因為在while迴圈裡面執行得太快,下一個迴圈到來時候新的事件還沒有來得及註冊上結果又鎖上了。
目前使用的方法是在wakeup之後讓while迴圈sleep 10毫秒,雖然能解決這個問題,但是畢竟感覺不爽,又沒有高人能解決的。
簡單的說就是一個執行緒被select()方法掛起,另一個執行緒如果嘗試在這個selector上註冊事件則也會被掛起。
相關文章
- 關於java安全性程式設計問題求助!!!Java程式設計
- 求助關於jre版本問題!!!
- 請各路高手幫忙,關於JAVA NIO的方面的問題Java
- 求助關於JdonFrameworkTest的一個問題Framework
- 求助:關於系統超時的問題
- 【求助】關於xml-rpc的問題XMLRPC
- [求助]關於系統的國際化問題
- [求助]關於Appfuse中Form的scope問題APPORM
- 關於Java中分層中遇到的一些問題Java
- Leetcode刷題中關於java的一些小問題LeetCodeJava
- 關於Redis的一些小問題Redis
- 求助!關於j2ee安全框架問題?!!!框架
- 請教一個關於NIO執行方式的問題
- [提問交流]關於Jquery Append鉤子的問題,大神求助!jQueryAPP
- 請問一個java nio問題Java
- [求助] 關於ehcache叢集快取同步資料的問題快取
- 菜鳥求助關於資料比對程式的OO問題!!!
- 求助:關於linux下共享記憶體的問題(轉)Linux記憶體
- 關於介面的一些問題
- 關於java的“原子操作”問題Java
- 求助:關於“JAVA事件處理模式”Java事件模式
- (緊急求助)關於jive訊息過濾的實現相關問題
- 求助!關於執行緒的問題?各位大俠謝謝了!!!執行緒
- 求助!關於多執行緒連線資料庫的問題執行緒資料庫
- 求助:DetachedCriteria關聯查詢問題~~
- 關於CSS一些細節問題CSS
- 一個關於Java Excel的問題JavaExcel
- java nio網路開發問題Java
- 關於瀏覽器相容的一些問題瀏覽器
- 解答關於學習前端的一些問題前端
- Java" Pet Store Demo 1.3.2問題求助!Java
- Java NIO 執行緒 的一個問題Java執行緒
- 關於原始碼的學習的一些問題原始碼
- 【求助】我使用JAVA JDBC的批次提交的問題JavaJDBC
- 求助,castor的問題AST
- 關於Linux一些問題和答案Linux
- 關於iframe中使用fixed定位的一些問題
- 關於typedef在struct使用上的一些問題Struct