LINUX.ORG.RU

История изменений

Исправление slackwarrior, (текущая версия) :

Можно еще класс сделать специальный, при входе в метод которого будет закрываться mutex.

У них есть уже :) FScopeLock Либо авторы примеров об нем не знают, либо примеры стухли.

Понимаю что это не безопасно и чревато крэшами, но могу ли я использовать это без mutex на время отладки а затем убрать их из кода полностью? Мне видится что можно, но «в продакшен» такое попасть не должно.

Ну никто не запретит же. Можешь конечно :) В крайнем случае можно свой логгер на коленке написать всегда, который тупо для одного потока будет файлик писать :)

Мне нужен именно «вечный» поток, у него нет условия завершения, разве что EndPlay.

Ну ващет этот «вечный» должен корректно завершаться при завершении приложения. Либо ему как-то просигналить надо в точке проверки завершения (ну, если специфичный для движка API-потоков такое умеет сам — см. в сторону https://api.unrealengine.com/INT/API/Runtime/Core/HAL/FRunnableThread/WaitFor...), либо тупо «силовыми методами» лочить и выставлять флаг на остановку.

Исходная версия slackwarrior, :

Можно еще класс сделать специальный, при входе в метод которого будет закрываться mutex.

У них есть уже :) FScopeLock Либо авторы примеров об нем не знают, либо примеры стухли.

Понимаю что это не безопасно и чревато крэшами, но могу ли я использовать это без mutex на время отладки а затем убрать их из кода полностью? Мне видится что можно, но «в продакшен» такое попасть не должно.

Ну никто не запретит же. Можешь конечно :) В крайнем случае можно свой логгер на коленке написать всегда, который тупо для одного потока будет файлик писать :)

Мне нужен именно «вечный» поток, у него нет условия завершения, разве что EndPlay.

Ну ващет этот «вечный» должен корректно завершаться при завершении приложения. Либо ему как-то просигналить надо в точке проверки завершения (ну, если специфичный для движка API-потоков такое умеет сам), либо тупо «силовыми методами» лочить и выставлять флаг на остановку.