【发布时间】:2021-11-14 11:27:45
【问题描述】:
我正在用 C 语言创建一个线程,以便在运行时检查网页上的内容。我是想关闭这个线程,还是一旦它完成执行,它会自动被释放?
--> Imports
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
--> Start thread
pthread_t thread_id;
pthread_create(&thread_id, NULL, threadFunction, NULL);
---> Thread function
void *threadFunction(void *vargp) {
//Do something...
return NULL;
}
【问题讨论】:
-
您使用什么线程库或标准? (向我们展示一些代码会更有帮助。)
-
你的线程库的文档是怎么说的?
-
查找讨论可连接线程、分离线程和取消线程概念的线程教程。
-
@jarmod 完成,对此感到抱歉。对 C 来说是全新的,所以仍在搞清楚基础
-
简而言之,创建分离线程并允许线程退出通常就足够了。如果知道线程何时退出很重要,您可以创建可连接线程,然后主线程等待它们退出连接。线程取消很少使用,但如果线程在取消点被阻塞或死锁,则可以使用。