Итак, у меня есть приложение, которое использует потоки.Теперь, когда программа запускается в первый раз, я хочу, чтобы она прошла настройку соединений с базой данных и еще много чего, прежде чем она станет фоновой, чтобы любой / кто бы ни запускал программу, мог знать, была ли ошибка при запуске.
Я сделалнекоторые смотрят вокруг и находят некоторые ресурсы, которые говорят «не смешивайте форк и нити», в то время как другие говорят, что разветвление в linux будет только дублировать основной поток и оставит остальных в покое.
В случае последнего (где этопросто дублирует основной поток), как тогда потоки обращаются к переменным уровня файла (глобальным)?Разве потоки не смогут получить доступ к переменным, которые теперь находятся в адресном пространстве разветвленного процесса?
В конечном итоге цель состоит в том, чтобы получить сам фон приложения после создания потоков.Если это невозможно, я могу поставить разветвление перед созданием потока, просто хотел бы сделать это как можно позже.
Примечание: во время разветвления потоки будут спать (), пока основной поток не поместит данные в общую переменную для их обработки.Поэтому, если сон прервется, им не причинят вреда.