Frozen2022 2015-09-17 06:27 采纳率: 80%
浏览 2100
已采纳

MFC线程中使用STL map,vector 报错(有代码和报的错误错误)

图片说明
图片说明
有事还报这个错:
map/set iterator not decrementable
(上面这三个错误运行时会选一个报)
code:

 unsigned   __stdcall CDotPlots::InitParticles( PVOID InitInfo )
{
    CDotPlots::m_csCritical.Enter( );

    ThreadArg* pThreadInfo = (ThreadArg*)InitInfo;

    for(int i = pThreadInfo -> startEventNo; 
                i < pThreadInfo -> endEventNo; i++)
    {
        ASSERT( pThreadInfo ->pData );
        int x = pThreadInfo->pData->
            m_arrEventList[i].arri_parameter_values[pThreadInfo->hParNo];
        int y = pThreadInfo->
            pData->m_arrEventList[i].arri_parameter_values[pThreadInfo->vParNo];
        ASSERT( pThreadInfo->pDotPlot );

        VALUE& mapCol = pThreadInfo->pDotPlot->m_mapParticles[ x ];
        IDS& vIDS = mapCol[ y ];
        vIDS.push_back( i );
        //注释掉这三行就没错了
    //不创建线程执行这个函数而在主线程中调用也没有任何错
    }

    CDotPlots::m_csCritical.Leave( );
    return 0;
}
  • 写回答

3条回答 默认 最新

  • lawen-y 2015-09-17 12:35
    关注

    map,vector不是线程安全的

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

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?