Я хочу выполнить некоторые операции загрузки и сохранения в другом потоке (в SDL). Чтобы это сделать, я подумал о создании потока и его отсоединении (позволяя его закончить самостоятельно) каждый раз, когда я вызываю функцию, которая должна запускаться отдельно.
Но я не думаю, что это правильное поведение (или это?).
Есть ли лучшее решение, например, создание и использование только одного потока? И если есть, как я могу назвать свою функцию (ы) из нее?Как вызвать функцию внутри потока?
ответ
Использование std::async. В большинстве реализаций используются эффективные решения, такие как повторное использование потоков из threadpool.
Жизненный цикл нити зависит от основного потока (или родительского потока), без объединения всех дочерних потоков будет прекращен, когда основной поток (или родительский поток) будет завершен. Поток привязан к процессу. Возможно, вам захочется взглянуть на форматирование процесса, это сохранится, даже если родительский процесс завершит работу, но может быть запущен процесс зомби, и он не сможет завершить его в рамках программы.
Извините, но это не отвечает на мой вопрос ... – Xriuk
- 1. Как вызвать асинхронную функцию внутри читаемого потока node.js
- 2. Как вызвать функцию на выполняющегося потока Python
- 3. Как вызвать функцию внутри себя?
- 4. Как вызвать функцию внутри Javascript
- 5. Как вызвать функцию внутри объекта
- 6. Как вызвать функцию внутри добавления?
- 7. Как вызвать функцию внутри функции
- 8. Как вызвать функцию внутри себя
- 9. как вызвать функцию внутри триггера?
- 10. Как вызвать функцию внутри функции?
- 11. как вызвать функцию внутри функции
- 12. Как вызвать функцию внутри функции?
- 13. Как вызвать функцию внутри функции?
- 14. Как вызвать функцию внутри IIFE
- 15. Как вызвать функцию внутри переменной?
- 16. Как вызвать функцию внутри класса
- 17. Как вызвать функцию в контексте другого потока?
- 18. Как вызвать функцию внутри функции в C++?
- 19. Как использовать функцию экземпляра потока внутри функции?
- 20. Создать/вызвать функцию внутри функции
- 21. Вызвать функцию внутри papercript извне
- 22. Можно вызвать функцию внутри BoundColumn.DataField?
- 23. Попробуйте вызвать функцию внутри себя
- 24. Вызвать замкнутую функцию внутри функции
- 25. Как вызвать функцию внутри инъецированной dll
- 26. Как вызвать функцию jQuery внутри jquery tmpl?
- 27. как вызвать функцию javascript внутри thickbox?
- 28. Как вызвать функцию javascript внутри модального контента?
- 29. Как вызвать функцию внутри функции? Odoo9 Validation
- 30. Как вызвать функцию внутри $ (документ) .ready
Эти тихие downvoters ... – Xriuk
Является ли SDL2 непосредственно относящимся к этому вопросу? Что вы подразумеваете под «правильным»? Вы обеспокоены утечкой ресурсов? Будет ли асинхронная работа C++ 11 для вас? – doctorlove
Я работаю с SDL2 и планирую использовать семафоры SDL, мьютексы, ... Поэтому я хотел бы работать только с ним. Под «правильным» я имею в виду, если это так, как это должно быть сделано. – Xriuk