在請求資料中,會遇到網路進行載入資料,然後將資料顯示出來,但是網路載入一般都為非同步,這個牽涉到執行緒的問題了,這是我今天遇到的問題
[self connectionaction:photofram.photoframeid selectframename:photofram.photoframename selectframepassword:photofram.photoframepassword];
//方法2將nsuserdefaults的值賦值給host,
nsuserdefaults *user = [nsuserdefaults standarduserdefaults];
nsstring *photoip = [user objectforkey:@"photoip"];
self.host = photoip;
問題:方法1的是非同步執行緒,當執行到方法2時,方法1還沒有執行,所以方法2賦值時為空
解決方案:
需要用到訊號量
在方法1的非同步執行緒裡新增三個訊號量,如**就ok了,
// 建立訊號量
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
// 開始網路請求任務
// 在網路請求任務成功之前,訊號量等待中
dispatch_semaphore_wait(semaphore, dispatch_time_forever);
});
如何非同步獲取多執行緒返回的資料?
說一下callable這個介面的理解?說一下future介面的理解?說一下futuretask類的理解?說一下completionservice介面的理解?1.通過callable future,callable負責執行返回,future負責接收。callable介面物件可以交給executorse...
關於jQuery非同步重新整理資料,載入速度問題
jquery中有便捷的方法來執行非同步操作。這段時間做了乙個需要頻繁從資料庫獲取資料,且資料量比較大的頁面。一開始重新整理事件間隔為5秒鐘,當頁面載入速度趕不上重新整理的速度,導致頁面反映遲緩。優化思路 1 檢查sql。速度慢多半是因為sql獲取資料的效率不高,用高於實際情況的資料量進行測試。關於s...
因壞道問題導致的硬碟故障如何進行資料恢復?
根據百科做出的定 釋 硬碟出現壞道除了硬碟本身質量以及老化的原因外,還有很大程度上是由於平時使用不當造成的。硬碟壞道 根據其性質可以分為 邏輯壞道 和物理壞道兩種,簡單來說,邏輯壞道是由於一些 軟體或者使用不當造成的,這種壞道可以使用軟體修復,而物理壞道則是硬碟碟片本身的磁介質出現問題,例如碟片有物...