0
我想寫一個代碼,在其中我必須創建2個並行線程(在調度串行隊列中運行)1線程將上載,另一個線程將從服務器下載文件。上傳和下載進度都將在另一個屏幕上進行更新,並進行字節上傳和下載。當我創建二級線程我的函數返回到調度串行隊列並開始scehduled而不是等待2個當前並行任務的另一個系列任務iOS FTP併發上傳和下載
- :
但我面臨着一些奇怪的問題先完成。
一旦下載線程開始上傳線程停止上傳文件並在Writeto服務器期間返回-1。
我使用蘋果SimpleFTP例子,並試圖在2個並行線程1運行它是認沽和第二的GET。
任何想法,爲什麼上傳下載時從服務器文件停止(我做了2個不同的connnections到FTP服務器以及)
提前感謝您的幫助。
是否有任何理由不使用GCD + dispatch_semaphore_t變量的標準塊? –
串行隊列中很少有其他任務發生(一個接一個地完成),並且這些任務應該順序完成。這些串行隊列是使用GCD本身創建的。對於這個FTP任務,我們必須創建2個並行線程,並且上傳和下載都應該同時運行。我嘗試了使用具有全局調度的GCD異步,但不是等待任務完成,原始主串行隊列開始運行另一個任務這是需求.. – Dinesh
更多更新在這..看起來像 - (無效)流:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode阻止另一個線程訪問另一個類中的相同委託函數直到NSStream關閉不被調用。任何人都可以更多地瞭解這一點.. – Dinesh