#include <pthread.h>
#include <iostream>
using namespace std;
void* printChar(void* data)
{
int a = *reinterpret_cast<int*>(data);
while(true)
cout<<a++<<endl;
return reinterpret_cast<void*>(*reinterpret_cast<int*>(data));
}
int main(void)
{
pthread_t tid1;
pthread_attr_t attr;
// 初始化线程属性
pthread_attr_init(&attr);
// 设置分离状态
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
int* a = new int(0);
// 创建线程
pthread_create(&tid1,&attr,printChar,reinterpret_cast<void*>(a));
while (true)
{
if ('q' == getchar())
{
break;
}
}
delete a;
return 0;
}
pthread属性设置(detach)
最新推荐文章于 2025-04-30 00:00:00 发布
这是一个使用C++实现的多线程程序,通过`pthread`库创建了一个分离状态的线程,线程函数无限循环打印传入整数的递增值,直到在主程序中输入'q'字符退出。程序涉及到内存管理和线程同步的基本概念。

1万+

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



