У меня был вопрос в C? Возможно ли создать поток и вызвать функцию потока позже, когда это требуется? Вероятно, используя процедуру thread_start всякий раз, когда это необходимо. В противном случае, если я использую pthread_create, поток будет создан несколько раз и должен быть обработан тщательно. Пожалуйста, помогите мне. Заранее спасибо.Вызов функции потока позже
0
A
ответ
2
Вы можете использовать семафоры, просто блокировать функцию нити в то время как петля:
while(1){
sem_wait(my_semaphore);
code_that_needs_to_be_done_in_thread;
}
..и всякий раз, когда вам нужен поток, просто сигнализировать его:
sem_post(my_semaphore);
...
other_code;
sem_post(my_semaphore);
...
Смежные вопросы
- 1. вызов функции с помощью потока в xcode
- 2. Вызов функции из другого потока в C#
- 3. Вызов функции с использованием потока в C
- 4. вызов метода класса для функции потока
- 5. Вызов функции Lua из другого потока
- 6. Объявление переменной в функции AJAX и вызов ее позже (jQuery)
- 7. Node.js - вызов функции возвращается неопределенным и оценивается позже
- 8. Вызов функции JavaScript с аргументами, которые решаются позже
- 9. Вызываем вызов позже, чем ожидалось
- 10. Сохранение функции для запуска позже
- 11. Обратный вызов обратного потока
- 12. Вызов активности из потока
- 13. Вызов def из потока
- 14. Обратный вызов родительского потока из дочернего потока
- 15. вызов GetMessage вызывает остановку потока
- 16. Вызов Invoke/BeginInvoke из потока
- 17. вызов функции mysql_thread_end перед выходом из потока в C++ pthread
- 18. Вызов функции Python из потока C, с изменяемым массивом C
- 19. Вызов функции класса A из потока в классе B [C#]
- 20. Вызов функции при выходе потока в PThreads или Windows
- 21. Нежелательный вызов деструктора при запуске потока в функции-члене
- 22. Вызов функции обратного вызова главной темы из рабочего потока
- 23. Qt добавить вызов функции в цикл событий из другого потока
- 24. Вызов функции-члена класса из потока с помощью pthread_create
- 25. Java вызов функции python с графом тензорного потока
- 26. Вызов управляемой функции (C#) через Marshal.GetFunctionPointerForDelegate из потока native (C++)
- 27. Вызов функции Python не выполняется из-за потока
- 28. вызов функции Beginwaitcursor из рабочего потока в MFC
- 29. Вызов функции по потоку, попытка отправки команды для недопустимого потока
- 30. Вызов другой функции потока, а затем возвращаемое значение
Пожалуйста, объясните ваши требования немного более яснее. В противном случае единственным ответом, который любой может дать этому, является «да, скорее всего, это возможно» –
Конечно, просто закодируйте поток, чтобы ждать работы и выполнять работу, когда сообщается. –
Следуя за комментарием @DavidSchwartz, вы можете использовать переменную условия и передавать ее, или вы можете ждать ввода-вывода. Вы можете сделать это в верхней части цикла, чтобы он обрабатывал данные или кусок работы каждый раз, когда сигнализируется переменная состояния или завершается ввод-вывод. – clearlight