gpt4 book ai didi

脉冲和等待线程的 iOS 等价物

转载 作者:行者123 更新时间:2023-11-28 23:00:41 28 4
gpt4 key购买 nike

我正在 iOS 中寻找与 .NET 中的脉冲和等待模式相同的多线程模式。本质上,我希望后台线程处于休眠状态,直到设置标志为止,这实际上是将线程“踢”到行动中。

它是 loop+thr​​ead.sleep() 的替代方法。该标志可以设置在与执行处理的实际后台线程不同的线程上。谢谢!

最佳答案

iOS 和 OS X 上有多种不同的混合匹配线程 API。您使用什么来创建线程?

最简单的建议是使用 Grand Central Dispatch (GCD) semaphore .

设置代码:

dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
// Then make sure your thread has access to this semaphore

线程代码:

dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
// Will block forever until the semaphore is triggered

触发代码:

dispatch_semaphore_signal(semaphore);

一个更好的建议:GCD 已经管理了它自己的线程池,所以只需利用它而不是启动你自己的线程。使用 dispatch_async 在后台线程中运行一些代码非常容易。

关于脉冲和等待线程的 iOS 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067949/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com