История изменений
Исправление alysnix, (текущая версия) :
у вас логикой все нормально? если вы защищаете деструктор пула мьютексом, значит в вашей системе, во время деструкции пула может кто-то к нему обращаться. а раз может «во время», значит может и после деструкции обращаться, а это уже ошибка совсем.
обращение во время деструкции надо оформлять паникой или эксепшеном. и смотреть откуда оно берется вообще, ибо такого быть не может в корректной программе.
в правильной логике сначала стопят всех, кто может лезть в обьект, и потом убивают обьект.
то есть тредпул должен иметь функцию stop_all(), где он переводится в неактивное состояние и не может далее добавлять треды, и в ней он ожидает завершения всех его тредов.
но тредпул должен быть недеструктрурирован, пока есть ненормальные, что могут вызвать его функции.
Исправление alysnix, :
у вас логикой все нормально? если вы защищаете деструктор пула мьютексом, значит в вашей системе, во время деструкции пула может кто-то к нему обращаться. а раз может «во время», значит может и после деструкции обращаться, а это уже ошибка совсем.
обращение во время деструкции надо оформлять паникой или эксепшеном. и смотреть откуда оно берется вообще, ибо такого быть не может в корректной программе.
в правильной логике сначала стопят всех, кто может лезть в обьект, и потом убивают обьект.
то есть тредпул должен иметь функцию stop_all(), где он переводится в неактивное состояние и не может далее добавлять треды, и в ней он ожидает завершения всех его тредов.
но тредпул должен быть недеструктрурирован, пока есть ненормальные, что могут к вызвать его функции.
Исходная версия alysnix, :
у вас логикой все нормально? если вы защищаете деструктор пула мьютексом, значит в вашей системе, во время деструкции пула может кто-то к нему обращаться. а раз может «во время», значит может и после деструкции обращаться, а это уже ошибка совсем.
обращение во время деструкции надо оформлять паникой или эксепшеном. и смотреть откуда оно берется вообще, ибо такого быть не может в корректной программе.
в правильной логике сначала стопят всех, кто может лезть в обьект, и потом убивают обьект.