From ad716fb9f1e8ae5cde818be423ca47225a4ff4ec Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期四, 11 四月 2019 11:16:29 +0800 Subject: [PATCH] VptServer多线程支持 --- QiaoJiaSystem/VptServer/VptServerI.cpp | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/QiaoJiaSystem/VptServer/VptServerI.cpp b/QiaoJiaSystem/VptServer/VptServerI.cpp index c8b3361..e08fa75 100644 --- a/QiaoJiaSystem/VptServer/VptServerI.cpp +++ b/QiaoJiaSystem/VptServer/VptServerI.cpp @@ -9,13 +9,25 @@ VptServerI::VptServerI() {} VptServerI::~VptServerI() { - + for (auto item_ptr : m_map_vptDetectWrapper) { + if (item_ptr.second != nullptr) { + delete item_ptr.second; + item_ptr.second = nullptr; + } + m_map_vptDetectWrapper.erase(item_ptr.first); + } } VptDetect::ObjInfos VptServerI::VptDetect(Ice::Int width, Ice::Int height, const ::std::string &shM, const ::Ice::Current ¤t) { + thread::id key = std::this_thread::get_id(); + if (m_map_vptDetectWrapper.find(key) == m_map_vptDetectWrapper.end()) { + m_map_vptDetectWrapper[key] = new VptDetectWrapper(); + } + VptDetectWrapper &m_vptDetectWrapper = *m_map_vptDetectWrapper[key]; + VptDetect::ObjInfos objInfos; QSharedMemory shareMemory(QString(shM.c_str())); if (shareMemory.attach()) { -- Gitblit v1.8.0