编程小嫩鸡 2022-10-06 21:47 采纳率: 0%
浏览 25
已结题

使用detach分离线程时,为什么我的用以打印流的子线程会重复执行

在下面的这段代码中,多次执行偶尔会出现预料之外的情况,cout将数字3进行了多次输出,这是怎么回事?

 


```c++
#include <iostream>
#include <thread>

using namespace std;

class A
{
    public:
        int a;
        char c;
        A(int x) : a(x){};
}
void myprint(const A& q)
{
    cout << q.a << endl;
}
int main()
{
    char buf[] = "hello world!";
    thread obj(myprint, 3);
    obj.detach();
    cout << "end!!!" << endl;
}

```

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已结题 10月8日
      • 赞助了问题酬金15元 10月6日
      • 修改了问题 10月6日
      • 创建了问题 10月6日

      悬赏问题

      • ¥20 VBA如何用代码在onedrive创建文件夹?
      • ¥15 在proteus中,以及使用dosbox出现了link:fatal error L 1093:.obj:object file not found
      • ¥15 多理发师睡眠问题,2个理发师,n个座椅
      • ¥15 FPGA两按键控制led灯程序
      • ¥40 大学的python问题,用python解决
      • ¥30 用Java实现网上商场购物车功能
      • ¥15 程序设计:食堂菜品管理系统
      • ¥15 1920的分辨率,但浏览器却显示1600*900像素
      • ¥15 数学模型来预测国民生产总值,matlab
      • ¥35 dvwa里sql注入无返回结果