![](/img/trans.png)
[英]Block HTTP Requests or make them run synchron
我有兩個 HTTP 請求,我必須按照我執行第一個的順序執行它們,等到它完成然后執行第二個。 我曾經在調用中使用循環和變量來執行此操作,並且只有當調用中的變量發生更改時,它才能跳過循環並執行第二次調用。 但這非常“丑陋”而且效率不高。 所以我讀到了一些你可以做的事情,但我不知道什么是“標准做法”或最適 ...
[英]Block HTTP Requests or make them run synchron
我有兩個 HTTP 請求,我必須按照我執行第一個的順序執行它們,等到它完成然后執行第二個。 我曾經在調用中使用循環和變量來執行此操作,並且只有當調用中的變量發生更改時,它才能跳過循環並執行第二次調用。 但這非常“丑陋”而且效率不高。 所以我讀到了一些你可以做的事情,但我不知道什么是“標准做法”或最適 ...
[英]Does DispatchQueue also Lock the resources used inside it?
如果 localSharedResource 也被其他線程訪問,我應該使用 lock 嗎? ...
[英]Usage of NSLock in property setter
假設有一個變量我想讓線程安全。 執行此操作的最常見方法之一: 但是,如果我們像下面的示例那樣更改值,則此屬性不是完全線程安全的: 所以我的問題是:在同樣的原則上使用 NSLock也不是完全線程安全的嗎? ...
[英]Safe to use NSLock on main thread?
我有一個可以從多個線程訪問的全局變量,包括從主線程。 我想使用 NSLock因為它比 GCD 快。 這是我正在嘗試做的事情: NSLock會阻塞主線程還是在主線程上使用安全? 這與DispatchSemaphore的情況是否相同,應該訴諸隊列? ...
[英]What is the difference (advantage and disadvantage) between using DispatchGroup and NSRecursiveLock?
使用DispatchGroup和NSRecursiveLock有什么區別(優點和缺點)? 看起來他們正在做同樣的事情。 ...
[英]Protecting read/write access to NSManaged object array
我有一個NSManagedObjects數組,由多個片段共享,一些位於主隊列中,一些位於回調閉包中。 有時,當我清除此數組時,代碼的其他部分嘗試訪問它以讀取和顯示UI上的數據,並且由於有時找不到數據而導致崩潰。 我正在考慮使用NSLocks來保護此陣列的讀寫,但是我不確定這種方法是否安全 ...
[英]How to utilize NSLock to prevent a function from firing twice?
我目前有一組異步函數,都在viewDidLoad()調用。 每個函數的末尾都有一個布爾值,該布爾值在函數完成時從false設置為true。 還有一條條件語句檢查兩個函數的布爾值,它們會觸發第三個函數。 這個條件語句是兩個功能( 當兩個已經完成,我要叫)。 通常: 這種設置確保了f ...
[英]NSLock.lock() executed while lock already held?
我正在審查一些Alamofire 示例 Retrier代碼: 我不遵循如何在函數的第一行上使用lock.lock() ,然后在傳遞給refreshTokens的閉包中使用相同的行strongSelf.lock.lock() 。 如果在執行defer解鎖時,直到should方法結束時 ...
[英]Swift: Understanding NSLock deadlock
使用NSLock在我們的日志中看到此消息: 這是否意味着該應用程序遇到致命錯誤並將停止工作? 還是以某種“優雅”的方式處理? ...
[英]Even though after lock the threads get crashed <__NSArrayM: 0x7f881a6b1900> was mutated while being enumerated?
這是我的代碼,我正在根據我的條件刪除多個值 我了解嘗試找出此錯誤時出了點問題,請幫助我解決這個問題。 這是錯誤的: ...
[英]My program is executing out of order, I'm assuming because of some threads finishing before another. NSLock, GDC, suggestions?
從編程的角度來看,由於代碼的編寫方式,我不一定可以解決此問題。 基本上,用偽代碼: 基本上,條件檢查發生在setFlag完成之前,因此在檢查時永遠不會成立。 即使我沿didSetFlagFinishExecuting添加第二個全局布爾值,我也會遇到相同的問題-有條件的發生在其他條 ...
[英]How to elegantly lock when all code is on the main thread (looking for alternative to NSLock)
我有一種情況,我必須等待UIKit動畫完成,而我正在使用完成塊來執行相關的定稿代碼。 現在我意識到,當我從主線程調用兩次函數時,便可以觸發競爭條件,從而引入錯誤。 我無法使用簡單的@synchronized(self)鎖,但是使用NSLock時有另一種解決方法。 我想知道是否有一個更優雅的 ...
[英]ios creating a write lock based on a key
我知道使用dispatch_barrier_async鎖定給定資源,但是在我的情況下,這不是一個很好的選擇,因為我不是在修改共享數據結構,而是在磁盤上分配資源,並且不想阻塞整個隊列,而只是給定的鍵,因為該操作可能需要很長時間。 我不確定文件系統的工作方式是否與同時從多個線程訪問同一文件(按名稱 ...
[英]Multi-thread daata access issue, @synchronized & serial queue
正如您可能已經體驗到的那樣,訪問無線程安全變量是一個很大的麻煩。 對於iOS一個簡單的解決方案是使用關鍵字 @synchronized ,它將添加NSLock以確保可以由唯一的一個線程訪問數據,缺點如下: 鎖定太多會大大降低應用程序性能,尤其是在被主線程調用時。 當邏輯變得復 ...
[英]iOS App freezing with NSConditionLock
我在某個時刻凍結了應用程序,這是一個比較棘手的問題。 我猜想這與我使用NSConditionLock 。 我有一個可供使用的庫,它包含一系列調查問題,但是它的工作方式是直接競爭最后一個問題而不接受答案,因此需要暫停線程並接受來自問題的輸入。用戶。 我以前沒有使用過它,所以如果我實施 ...
[英]How to make particular part of function wait in iOS
我正在嘗試執行共享操作,在此我使用異步塊調用函數,但是在下一個if語句中,我需要獲取在塊中完成的值才能繼續。 這是我的代碼,將突出顯示更多細節。 我聽說過NSLock並嘗試使用它,但是它沒有用,可能是我在做鎖操作,我對鎖不太熟悉。 ...
[英]NSLock, number of threads waiting
我正在開發一個iOS應用程序,並且需要實現一個問題的解決方案,我需要知道有多少線程正在等待鎖定同一NSLock對象。 在Java中,我有ReentrantLock類,具有方法getQueueLength,該方法“返回等待獲取此鎖的線程數的估計值”。 在Objective-C中有類似的 ...
[英]Not using NSLock correctly, but still seems to work
我遇到線程安全問題。 我有一個隊列,當我修改內容時導致跨線程的錯誤。 我以前沒用過鎖,但我想我試試。 我為所有操作我的隊列的后備NSMutableArray的代碼添加了一個鎖。 我認為,問題在於我沒有對所有這些使用相同的鎖。 我在每個修改數組的方法中創建了一個新的NSLock實例。 ...
[英]How to execute a lock that waits until an animation completes?
我正在實現一個通過用戶輸入動畫的健康欄。 這些動畫使其上下移動一定量(比如50個單位)並且是按下按鈕的結果。 有兩個按鈕。 增加和減少。 我想在運行狀況欄上執行鎖定,以便一次只能有一個線程更改它。 問題是我遇到了僵局。 我猜是因為一個單獨的線程運行另一個線程持有的鎖。 ...
[英]NSRecursiveLock Deallocated
我有一個具有多個視圖控制器和ARC的iOS應用。 視圖控制器之一具有用於UIScrollView和UIPageControl的IBOutlet 。 加載該視圖控制器后,該錯誤將顯示在控制台中: 在嘗試解決此問題時,我為符號_NSLockError創建了符號斷點,並將模塊設置為Foun ...