3
我用下面的代碼在主運行循環調度事件:調度NSStream事件不是主要的運行循環
[stream setDelegate:self];
[stream scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
[stream open];
我認爲這意味着NSStreamDelegate
事件被調度在主運行循環中,因此如果頻率足夠高,可能會影響UI響應。在我的程序中,這似乎確實是這種情況 - 即使事件處理程序自己分離到後臺線程中也沒有做很多工作。
我將如何去執行除mainRunLoop
之外的運行循環的調度?我是否需要創建一個線程?我可以直接創建一個NSRunLoop嗎?需要執行什麼設置?
不錯,但是如何在github中的「演示程序」 - 一個鏈接將不勝感激。 (嗯,至少是它的名字?) –
@MottiShneor現在的代碼是3歲,但可能會有所幫助:https://github.com/dhoerl/Concurrent_NSOperations –