ios - CocoaAsyncSocket不是基于线程的吧?为什么我alloc了很多socket就出现了很多的新线程
PHP中文网
PHP中文网 2017-04-17 13:04:26
0
1
365

我要做的是扫描局域网内的每一个ip XX端口是否开放
一开始尝试过开200多个socket
分别connectto host
结果调试的时候发现有200多个线程在运行

CocoaAsyncSocket不是号称基于NSRunLoop的吗?

求指教,这种扫端口的形式怎么样能最快最可靠的完成

PHP中文网
PHP中文网

认证0级讲师

全部回覆(1)
PHPzhong

基於 NSRunLoop 是指在回呼的時候會透過這個機制讓回呼函數運行在主執行緒上面,保證不會出現任何跨執行緒呼叫的問題。但是它的底層還是用線程來實現的,所以會創建很多線程。

如果是掃端口,並且開那麼多線程並不會造成系統卡死什麼的,就這麼用就好了,大概沒什麼特別值得做的優化。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板