我的应用程序中有线程等待条件变量。当条件良好时,线程开始工作并读取一些数据。我的数据是全局变量。是否可以在运行时传递数据而不使用全局数据?我读了一些有关特定数据的内容,但我不知道它在这种情况下是否有用。谢谢!
最佳答案
是的,您可以将其传递给线程例程:pthread_create(thread, attr, function, *USER_ARG*)
。只需为线程执行所需的数据创建一个结构体即可。
*USER_ARG*
在内存中的存储位置很重要,您经常需要使用自由存储(malloc
it)作为参数,否则可能会损坏调用pthread_create
的线程的堆栈。
关于c - pthread Linux 数据运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777037/