m0_60055605 2022-07-09 01:01 采纳率: 14.3%
浏览 26
已结题

请大家指导一下,加入join()程序巡行就会出问题?

最近在学习多线程,写代码的时候出现了问题,不是很理解,希望大家指导一下
代码示例如下:


#include <iostream>
#include <thread>
#include <mutex>
#include <vector>
#include <windows.h>
using namespace std;
int g_num = 0;
mutex g_mutex;
void ThreadFun(int a) 
{
    cout << "Create Thread "<< a << endl;
    for (size_t i = 0;i<10000000;i++) 
    {
        lock_guard <mutex>    member(g_mutex);
        g_num++;
    }
}

int main() 
{
    vector <thread*> vecThread;
    for (size_t  k = 0; k < 8; k++)
    {
        thread* th =new thread(ThreadFun, j);
        vecThread.push_back(th);
        th->join();       //加入join()就会出现问题
    }
    for (auto begin = vecThread.begin(); begin != vecThread.end();++begin)
    {
        (*begin)->join();
//        Sleep(100);
        cout << "g_num = " << g_num << endl;
        return 0;
    }
}[]()
```c++

上面想将线程一依次放入容器内,为什么就不行了呢?
出现如下问题:
0x7746A6F2 处(位于 TreadStudy.exe 中)有未经处理的异常: Microsoft C++ 异常: std::system_error,位于内存位置 
  • 写回答

2条回答 默认 最新

  • [PE]经典八炮 2022-07-09 19:14
    关注

    你下面不是join了吗???

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 7月9日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度