Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在Linux中使用pthreads时,是否必须在线程结束后关闭线程?_C_Linux_Multithreading_Winapi_Pthreads - Fatal编程技术网

C 在Linux中使用pthreads时,是否必须在线程结束后关闭线程?

C 在Linux中使用pthreads时,是否必须在线程结束后关闭线程?,c,linux,multithreading,winapi,pthreads,C,Linux,Multithreading,Winapi,Pthreads,在WinAPI中,如果创建了一个线程,然后该线程结束,那么仍然需要调用线程句柄 在Linux中使用pthreads时,是否还必须在线程结束后关闭该线程?pthreads中的等效方法是在线程上调用pthread\u join()(如果线程还没有退出,这将一直阻止) 您还可以选择使用pthread\u detach()分离线程(或者使用pthread\u create()的pthread\u setdetachstate()的attr\u参数创建分离线程),这意味着不再需要连接线程。pthreads

在WinAPI中,如果创建了一个线程,然后该线程结束,那么仍然需要调用线程句柄


在Linux中使用pthreads时,是否还必须在线程结束后关闭该线程?

pthreads中的等效方法是在线程上调用
pthread\u join()
(如果线程还没有退出,这将一直阻止)


您还可以选择使用
pthread\u detach()
分离线程(或者使用
pthread\u create()
pthread\u setdetachstate()
attr\u参数创建分离线程),这意味着不再需要连接线程。

pthreads中的等效方法是调用
pthread\u join()
在线程上(如果线程尚未退出,则会一直阻塞,直到线程退出)


您还可以选择使用
pthread\u detach()
分离线程(或者使用
pthread\u create()
pthread\u setdetachstate()
attr
参数创建分离的线程),这意味着不再需要连接线程。

当您连接(未分离的)线程时会发生这种情况。如果不加入(非分离)线程,则在进程结束之前会发生资源泄漏。当加入(非分离)线程时会发生这种情况。如果不加入(非分离的)线程,则在进程结束之前会发生资源泄漏。1.很高兴知道,没有内置的方式连接任何线程。2.Zombies,请参阅手册页的引文:“如果无法使用可连接的线程(即未分离的线程)进行连接,则会生成一个“zombie线程”。避免这样做,因为每个僵尸线程都会消耗一些系统资源,并且当积累了足够多的僵尸线程时,就不可能再创建新线程(或进程)。'2注释。1.很高兴知道,没有内置的方式连接任何线程。2.Zombies,请参阅手册页的引文:“如果无法使用可连接的线程(即未分离的线程)进行连接,则会生成一个“zombie线程”。避免这样做,因为每个僵尸线程都会消耗一些系统资源,并且当积累了足够多的僵尸线程时,将无法再创建新线程(或进程)。'