Tôi có một sợi nhân viên mà tôi muốn làm một chút nhiệm vụ của mình, sau đó tạm dừng & chờ đợi cho "ok, tiếp tục" lệnh từ chủ đề khác, sau đó tạm dừng & chờ vvLàm thế nào để tạm dừng một NSThread cho đến khi được thông báo?
Các trường hợp sử dụng là: đối tượng điều khiển là một khung nhìn mà tôi muốn hiển thị thông tin về những gì đang xảy ra bên trong luồng công nhân, và cho phép tôi "một bước" thông qua người lao động vì nó làm điều đó.
Điều khá xấu xí và vụng về mà tôi có trong nhân của tôi là thế này:
NSLog(@"paused");
paused = YES;
while (paused)
{
[NSThread sleepForTimeInterval:0.25];
}
NSLog(@".. continuing");
... Nhưng tôi không thể không nghĩ rằng phải có một cách đẹp hơn, có lẽ liên quan đến NSLocks hoặc một số thứ như vậy.
Nhận xét, gợi ý gợi ý?
Cảm ơn!
Chính xác những gì tôi cần. Cảm ơn. – Olie
Cũng lưu ý, đối với những người say mê trong tương lai: 'NSConditionLock', nơi bạn làm điều gì đó như' [condition lockWhenCondition: suppliesAvailable]; mySupplies = [nội dung supplyQueue]; [supplyQueue removeAllSupplies]; [condition unlockWithCondition: noSuppliesAvailable]; // chi tiêu mySupplies như mong muốn' là một mẫu rất hữu ích. Trong trường hợp của tôi, thay vì đảngSupplies, tôi có nó như dữ liệu cần xử lý. QED. – Olie
+1 để bắt đầu bữa tiệc. : D Sử dụng tuyệt vời của partySuppliesAvailable và // party! – Alexandru