У меня есть DLL, который будет динамически загружен/выгружен из другого приложения. В DLL у меня есть потоковая точка, принадлежащая статическому объекту, который попытается присоединиться к всем потокам в Destructor. Я подозреваю, что последние недействительны темы, и они на самом деле не «закончены». Есть идеи, почему это происходит и в конечном итоге, как его решить, кроме того, что вы вызов метода выгрузки до фрилибрика ?class ThreadPool
{
public:
ThreadPool(size_t nthreads)
{
for (size_t i = 0; i < nthreads; ++i)
{
m_threads.emplace_back(
std::thread(
[this]() {
while (!m_stop.load())
{
std::this_thread::sleep_for(std::chrono::milliseconds(3));
}
bool is = true;
}
)
);
}
}
~ThreadPool()
{
m_stop.store(true);
std::this_thread::sleep_for(std::chrono::seconds(3));
for (std::thread& thread : m_threads)
{
if (thread.joinable())
{
thread.join();
}
}
bool is = true;
}
private:
std::atomic_bool m_stop{ false };
std::vector m_threads;
};
Подробнее здесь: https://stackoverflow.com/questions/795 ... reelibrary
Потоки не соединены после фри - ⇐ C++
Программы на C++. Форум разработчиков
1744345397
Anonymous
У меня есть DLL, который будет динамически загружен/выгружен из другого приложения. В DLL у меня есть потоковая точка, принадлежащая статическому объекту, который попытается присоединиться к всем потокам в Destructor. Я подозреваю, что последние недействительны темы, и они на самом деле не «закончены». Есть идеи, почему это происходит и в конечном итоге, как его решить, кроме того, что вы вызов метода выгрузки до фрилибрика ?class ThreadPool
{
public:
ThreadPool(size_t nthreads)
{
for (size_t i = 0; i < nthreads; ++i)
{
m_threads.emplace_back(
std::thread(
[this]() {
while (!m_stop.load())
{
std::this_thread::sleep_for(std::chrono::milliseconds(3));
}
bool is = true;
}
)
);
}
}
~ThreadPool()
{
m_stop.store(true);
std::this_thread::sleep_for(std::chrono::seconds(3));
for (std::thread& thread : m_threads)
{
if (thread.joinable())
{
thread.join();
}
}
bool is = true;
}
private:
std::atomic_bool m_stop{ false };
std::vector m_threads;
};
Подробнее здесь: [url]https://stackoverflow.com/questions/79567744/threads-not-joined-after-freelibrary[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия