如何使所有线程睡眠 - iphone

时间:2011-04-18 10:03:40

标签: iphone objective-c multithreading nsthread

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

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

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

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

我将在此进行更多探讨,但如果有任何想法请提供一些意见。

谢谢

1 个答案:

答案 0 :(得分:0)

通常可以使用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);