![](/img/trans.png)
[英]How to create new thread in AcceptCallBack when socket created In Ios
[英]Why There Is No Need To Open A New Thread When Opening A Socket Connection In iOS
在開發與套接字連接相關的Android應用程序之前,我總是需要打開一個新的Thread來處理它們,否則肯定會發生錯誤。
另一方面,當我在iOS應用程序中執行相同的操作時,無需打開新的線程來處理這些套接字連接,並且我的UI仍可以平穩運行。 我不明白為什么會這樣。
我已經進行了一些研究,但找不到任何可解釋此問題的資料。
請幫助我理解這一點。謝謝!
正如@Fonix所指出的,如果您使用的是GCDAsyncSocket,它將為您處理並發性。 但是,如果您閱讀GCDAsyncSocket代碼,您會發現它也不會生成任何線程。 iOS中幾乎沒有東西會生成自己的線程。 引用NSThread
幾乎總是一個錯誤。 iOS並發基於隊列並由GCD(大中央調度)管理。 隊列最終確實會映射到線程,但這是內部細節,而不是1:1映射。
您將要閱讀《 並發編程指南》 ,尤其是“從線程遷移”,以了解iOS如何管理並發。 它與Android完全不同,這種誤解通常會造成很多破碎的iOS代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.