Всем привет. Читаю книгу "Advanced Linux Programming" (http://www.advancedlinuxprogramming.com/alp-folder) В ней в конце четвертой части описывается реализация потоков в linux: "GNU/Linux Thread Implementation". Написано что потоки в linux реализованы как процессы. И приведена программа, которая печатает getpid() из функции main() и из порожденного ей потока: #include <pthread.h> #include <stdio.h> #include <unistd.h> void* thread_function (void* arg) { fprintf (stderr, “child thread pid is %d\n”, (int) getpid ()); /* Spin forever. */ while (1); return NULL; } int main () { pthread_t thread; fprintf (stderr, “main thread pid is %d\n”, (int) getpid ()); pthread_create (&thread, NULL, &thread_function, NULL); /* Spin forever. */ while (1); return 0; } В примере вывод этой программы - два разных PID'а, а у меня почемуто она выводит один и тотже PID: kit@kit ~/src/tmp $ ./thread-pid main thread pid is 10639 child thread pid is 10639 Также там показано что 'ps x' должна показать три процесса, и что типа один процесс - это поток выполняющий функцию main(), второй - это так называемый manager thread, а третий - это порожденный поток, но у меня 'ps x' показывает только один процесс: kit@kit ~/src/tmp $ ps x | grep thread-pid 10639 pts/4 Rl 15:30 ./thread-pid Однако ps -efL показывает два процесса с одинаковым PID, но с разными LWP: kit@kit ~/src/tmp $ ps -efL | grep thread-pid kit 10639 23896 10639 95 2 09:58 pts/4 00:08:08 ./thread-pid kit 10639 23896 10640 95 2 09:58 pts/4 00:08:09 ./thread-pid В связи с этом возникло два вопроса: 1. Реализация потоков обновленна с момента написания этой книги? 2. что такое LWP в выводе 'ps -efL'?
Ответ на:
комментарий
от fghj
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Linux threads ведут себя о разному (2005)
- Форум pthread не работает (2006)
- Форум создание дочерних процессов_ (2010)
- Форум pthreads - ошибка линковки (2001)
- Форум fork(), exec(), wait() (2020)
- Форум Изменение имени процесса в списке (2013)
- Форум c\c++ pthread & argc (2008)
- Форум Управление потоками с использованием pthread (2014)
- Форум fork() (2020)
- Форум pthreads help (2004)