2009-07-27 79 views
2

上運行的套接字流我有打開具有2個插槽的連接(進出)的應用程序,我想有他們在一個線程中運行。在一個線程

,我想他們是在一個單獨的線程的原因是,我不希望我的應用程序時,我接收數據凍結,只要在應用程序運行隨時會發生這種情況。

目前我有一個處理也是網絡通訊類和我運行這個類在的NSOperation,我不知道這是否是最好的解決辦法。

我不是很熟悉線程,因此球員,如果你可以給我一些幫助,我將非常感激。

感謝

回答

2

首先,你應該知道,你可以使用相同的插槽來發送和接收數據 - 它們通常是雙向的。您應該能夠在多個執行線程中共享對相同套接字的引用。其次,除非您會收到大量數據,並且遇到與您的用戶界面有關的性能問題,否則我會延遲對其進行優化。 (不要誤解我的意思,這是一個很好的考慮因素,但是不成熟的優化是所有邪惡的根源,如果它的性能足夠好,簡單一般會更好。)

第三,NSOperation對象是「一次性」這意味着一旦main方法完成,操作任務就不能再次使用。這可能會或可能不會有利於您的網絡模式。您也可以查看NSThread。事實證明,你已經具備了「分解出來」的功能,可以預示你的設計,無論什麼事情都是最好的。

最後,線程是一個複雜的話題,但開始的好地方(特別是Objective-C)是Apple的Threading Programming Guide

相關問題