pthread Linux data runtime - PullRequest
       21

pthread Linux data runtime

0 голосов
/ 15 октября 2011

В моем приложении есть потоки, которые ждут переменную условия.Когда кодирование хорошее, поток начинает работать и читает некоторые данные.Мои данные являются глобальной переменной.Можно ли передавать данные во время выполнения без использования глобальных данных?Я читал что-то о конкретных данных, но я не знаю, полезно ли это в этом случае.Спасибо!

1 Ответ

1 голос
/ 15 октября 2011

Да, вы можете передать это вашей подпрограмме потока: pthread_create(thread, attr, function, *USER_ARG*). Просто создайте структуру для данных, необходимых для выполнения потока.

Если значение *USER_ARG* хранится в памяти, важно, вы часто захотите использовать бесплатное хранилище (malloc it) для аргумента, в противном случае вы можете повредить стек потока, который вызвал pthread_create. * 1007. *

...