gpt4 book ai didi

linux - 除了 pthread_create 之外,还有其他方法可以将工作分配给同一个线程吗?

转载 作者:太空宇宙 更新时间:2023-11-04 09:43:47 27 4
gpt4 key购买 nike

在 Pthread 编程中,我们可以通过调用 pthread_create 函数将任务分配给工作线程并传递函数参数,但我想通过使用 pthread_create 将任务分配给先前创建的线程,我该怎么做?

最佳答案

您可以将新任务“传达”给现有线程。让现有线程等待信号(使用 pthread_cond_wait())。当你有一个新任务时,你可以将任务存储在一个公共(public)存储中,然后简单地向工作线程发送信号(使用 pthtread_cond_signal())。当您有一个正在等待传入任务的工作线程池时,这种方法很有效。当您发出信号时,只有一个线程会唤醒(pthread_cond_wait 绑定(bind)到互斥锁,因此只有其中一个线程重新获取互斥锁),其余线程将继续等待。

关于linux - 除了 pthread_create 之外,还有其他方法可以将工作分配给同一个线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627817/

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