Как подходить к созданию потоков в данный момент - PullRequest
1 голос
/ 08 ноября 2019

Мне нужна помощь, чтобы понять, как подойти к проблеме, которую я пытаюсь решить. Я пишу программу, которая получает команды на именованный канал от терминала (пример: echo "command"> pipe).

Эта команда содержит информацию о потоке, который мне нужно будет создать. Каждая команда представляет 1 поток. Я уже проанализировал команду.

Проблема в том, что мне нужно создавать потоки в определенный момент времени. Например, момент 500 (произвольные единицы).

Как лучше всего подойти к этому? Я думал о том, чтобы поместить все «будущие потоки» в массив, проверить время в цикле while и создать потоки, когда время совпадает. Но это звучит неоптимально, и я не уверен, что есть лучший способ.

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 10 ноября 2019

предложить чтение / понимание: pthread syncrinization

создание потоков занимает довольно много времени. Настоятельно рекомендуем создать все необходимые потоки «заранее» в программе, и каждый поток (в своем «теле») вызывает

pthread_cond_wait()

, чтобы приостановить поток, пока не получит результат вызова:

pthread_cond_signal() 

Вызов: pthread_cond_signal(), когда пора запускать определенный поток.

...