如何在普通C中启动线程?

我已经在C语言中使用fork()启动了另一个进程。如何启动新线程?



红糖糍粑
浏览 698回答 3
3回答

九州编程

自从您提到fork()以来,我假设您正在使用类似Unix的系统,在这种情况下,您要使用POSIX线程(通常称为pthreads)。具体来说,pthread_create()是创建新线程所需的函数。它的参数是:int  pthread_create(pthread_t  *  thread, pthread_attr_t * attr, void *   (*start_routine)(void *), void * arg);第一个参数是返回的线程ID指针。第二个参数是线程参数,除非您要以特定优先级启动线程,否则它可以为NULL。第三个参数是线程执行的函数。第四个参数是执行时传递给线程函数的单个参数。

倚天杖

线程不是C标准的一部分,因此使用线程的唯一方法是使用某些库(例如:Unix / Linux中的POSIX线程,_beginthread / _beginthreadex,如果您想使用该线程中的C运行时或仅使用CreateThread Win32 API)
打开App,查看更多内容
随时随地看视频慕课网APP