Linux中可用prctl函数来设置线程名,如下:
#define THREAD_LOG_RCV "log_recv_thread"
static void *thread_test(void *arg)
{
prctl(PR_SET_NAME, THREAD_LOG_RCV); // 设置线程名
return NULL;
}
int func()
{
pthread_t tid;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
int ret = pthread_create(&tid, &attr, thread_test, 0); // 创建线程
pthread_attr_destroy(&attr);
if (ret != 0) {
return ERR;
}
}
prctl函数1参为PR_SET_NAME时,其2参就是要设置的线程名。