LINUX.ORG.RU

Потоки и ядро 2.6.20


0

0

Добрый всем день.

Такая проблема: у меня приложение создает потоки, и потоки кидают в лог помимо своих сообщение, еще и свои tid'ы (идентификаторы потоков). Так вот, эти идентификаторы совпадают. причем такое впечатление, что мне (как пользователю системы) выделили десяток tid'ов, организовали их в "стек", и выдают верхний из "стека tid'ов". Ибо я каждый раз запускаю программу, и каждый раз потоки показывают одни и техе tid'ы.

Вот и я думаю, то-ли лыжи не едут, то ли...


А что не так? tid - это локальный идентификатор потока^Wнити в пределах процесса. Или ты привык к LinuxThreads, где идентификаторы нитей были фактически pid (== глобальными)?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

если чесно - я еще ни к чему не привык. мне чем не удобно повторение идентификаторов, так как страдают записи в лог файле: делаешь grep по логу, и выкидывает лог не одного срабатывания потока, а нескольких запусков. делать свои методы обеспечения уникальности потоков я не хотел. думал по tid'ам их буду различать. а не тут то было...

nial
() автор топика
Ответ на: комментарий от nial

Ну так сделай составной идентификатор - из pid и tid

tailgunner ★★★★★
()

NPTL в некоторых случаях использует tid от завершившегося потока для нового потока.

Заведи и используй искуственный идентификатор.

execve
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.