最近要搭一个比较复杂的系统,主进程中有多个功能模块线程,因此想到给每个线程加个名。如果不加名的话,线程的名字是和当前进程的名字相同的。
#include<stdio.h>
#include<pthread.h>
#include<sys/prctl.h>
void* tmain(void*arg)
{
char name[32];
prctl(PR_SET_NAME,(unsigned long)"yy");
prctl(PR_GET_NAME,(unsigned long)name);
printf("%s\n", name);
long long int sum = 0;
for (long long int i=0; i!=1000000000; i++)
sum += i;
printf("the total count is %lld\n", sum);
}
int main(void)
{
pthread_t tid;
pthread_create(&tid,NULL, tmain,NULL);
pthread_join(tid,NULL);
return 0;
}
本文讨论了如何在多线程应用中为每个线程添加唯一名称的方法,使用了prctl函数来修改线程标识,展示了创建并运行线程的完整过程,并通过打印线程名称验证了此操作的有效性。

被折叠的 条评论
为什么被折叠?



