如何让所有线程休眠 - iPhone

发布于 2024-11-02 14:15:46 字数 251 浏览 4 评论 0原文

->我正在制作一个 iPhone 应用程序 ->我有一个场景,我在后台运行多个线程。

->现在假设在主线程上我收到一个事件并且必须在新的后台线程中执行一些操作。

->但是,当我当时在新的后台线程上执行某些操作时,我的所有其他线程应该暂停/睡眠,直到操作完成。

->一旦操作结束,所有其他线程都应该恢复其操作。

我将对此进行更多探索,但如果有人有想法,请提供一些意见。

谢谢

-> I am making an iphone application
-> I have a scenario where I am running number of threads in background.

-> Now suppose on main thread I receive an event and have to execute some action in a new background thread.

->But when I perform some action on the new background thread at that time my all other threads should pause/sleep till the action is completed.

-> Once the action is over all other threads should resume their operation.

I will be exploring more on this, but if any one has idea please provide some input.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

决绝 2024-11-09 14:15:46

通常可以使用 pthread 条件来完成信号发送,使用互斥体进行同步,如下所示:

创建互斥体和条件变量:

    pthread_mutex_init(&mutex, NULL);
    pthread_cond_init(&cond, NULL);

线程 1:等待信号:

    pthread_cond_wait(&cond, &mutex);

线程 2:向等待条件的线程发出信号:

    pthread_mutex_lock(&mutex);
    pthread_cond_signal(&cond);
    pthread_mutex_unlock(&mutex);

Usually signalling can be done using pthread conditions,using mutex for synchronizing, Like so:

Create Mutex and Condition Variables:

    pthread_mutex_init(&mutex, NULL);
    pthread_cond_init(&cond, NULL);

Thread 1: Wait for the Signal:

    pthread_cond_wait(&cond, &mutex);

Thread 2 : Signal the thread waiting for condition:

    pthread_mutex_lock(&mutex);
    pthread_cond_signal(&cond);
    pthread_mutex_unlock(&mutex);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文