Tôi có hai khối GCD
không đồng bộ. Đầu tiên là chủ đề nền, chuỗi thứ hai chạy trên luồng chính. Điều này làm việc tuyệt vời, nhưng tôi chỉ thấy một nơi nào đó nói rằng tôi có thể cần phải giải phóng chúng bằng cách sử dụng dispatch_release()
. Ví dụ:dispatch_queue_t cần được phát hành bằng dispatch_release()?
// Use gcd
dispatch_queue_t queue = dispatch_queue_create("com.awesome", 0);
dispatch_queue_t main = dispatch_get_main_queue();
// do the long running work in bg async queue
// within that, call to update UI on main thread.
dispatch_async(queue, ^{
// Do work in the background
// Release
dispatch_release(queue);
dispatch_async(main, ^{
// Main
// Release
dispatch_release(main);
});//end
});//end
Điều này có đúng không? Tôi có cần giải phóng chúng ở đây không?
Mỗi nhận xét trong tệp tiêu đề bạn cần gọi dispatch_release() trên bất kỳ hàng đợi nào bạn tạo. – BonanzaDriver