Tôi đang lập trình một ứng dụng sử dụng các yêu cầu web không đồng bộ bằng NSURLConnection, vì vậy tôi có nhiều luồng đang chạy. Để đảm bảo rằng logic chính của ứng dụng của tôi xảy ra trên một chủ đề, tôi đang sử dụng số lượng lớn performSelectorOnMainThread:waitUntilDone:
. Đôi khi, mặc dù, tôi đang chạy này trên chủ đề chính, mà piqued sự tò mò của tôi.Nếu performSelectorOnMainThread: waitUntilDone: được gọi từ luồng chính, khi nào nó sẽ thực thi?
Nếu performSelectorOnMainThread:waitUntilDone:
được gọi trong khi trong chuỗi chính? Nó có hoạt động giống như chỉ performSelector:
không? Điều gì xảy ra nếu waitUntilDone:
là YES
? Nếu nó là NO
thì sao?
EDIT: Tôi thấy rằng khi waitUntilDone:
là YES
, bộ chọn được thực hiện (gần như) ngay lập tức, nhưng tôi không thể tìm ra khi nào được thực hiện nếu waitUntilDone:
là NO
.
Tôi đã thấy rằng khi 'waitUntilDone:' là 'YES', bộ chọn được thực hiện (gần như) ngay lập tức, nhưng tôi không thể tìm ra khi nó được thực thi nếu' waitUntilDone: 'là' NO'. – Jumhyn
Trình gỡ lỗi không trợ giúp ở đây? Chỉ cần tìm khi một luồng mới được sinh ra. –
@Cole, 'performSelector' ** OnMainThread: ** sẽ không tạo chuỗi, đặc biệt khi nó được gọi là _from_ chuỗi chính. –