gpt4 book ai didi

C、如何使用pthread_create函数创建线程

转载 作者:太空狗 更新时间:2023-10-29 16:29:05 24 4
gpt4 key购买 nike

我正在为一个调度队列创建一个 c 文件,该队列获取一个任务并将其放入一个链表队列中。为此,我需要使用

创建线程
pthread_t cThread;
if(pthread_create(&cThread, NULL, work, param)){
perror("ERROR creating thread.");
}

但是我需要创建另一个函数,它作为创建函数的参数进入“work”和“param”变量。我的 friend 告诉我,我只需要将任何代码放入无限循环的工作函数中,这样线程就不会死掉。任何人都可以解释每个参数进入 pthread_create 函数 - 特别是 工作参数?我在谷歌上搜索了这个,但是大多数教程都很难理解这个概念......

最佳答案

pthread_create 的四个参数依次为:

  1. 指向 pthread_t 结构的指针,pthread_create 将使用有关它创建的线程的信息填充该结构。

  2. 指向带有线程参数的pthread_attr_t 的指针。大多数情况下,您可以安全地传递 NULL

  3. 在线程中运行的函数。该函数必须返回 void * 并采用 void * 参数,您可以根据需要使用它。 (例如,如果您启动具有相同功能的多个线程,则可以使用此参数来区分它们。)

  4. 要启动线程的 void *。如果不需要,请传递 NULL

关于C、如何使用pthread_create函数创建线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990888/

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