N |
S |
P |
1 |
1 |
1 |
2 |
1 |
2 |
3 |
1 |
3 |
4 |
1 |
4 |
5 |
1 |
5 |
6 |
1 |
6 |
7 |
2 |
1 |
8 |
2 |
2 |
9 |
2 |
3 |
10 |
2 |
4 |
11 |
2 |
5 |
12 |
2 |
6 |
13 |
3 |
1 |
14 |
3 |
2 |
15 |
3 |
3 |
16 |
3 |
4 |
17 |
3 |
5 |
18 |
3 |
6 |
19 |
4 |
1 |
20 |
4 |
2 |
21 |
4 |
3 |
22 |
4 |
4 |
23 |
4 |
5 |
24 |
4 |
6 |
3. Создание, уничтожение и управление потоками в QNX Neutrino
Запускается th1 и th2. th1 запускает th2(создается в соответствии с Z) и анализирует, в случае если это необходимо информацию th2, который в свою очередь должен вернуть:
S1 ProcessName
S2 UID
S3 GID
S4 PID
S5 PPID
S6 Process Priority
P1 Joinable
P2 Detached
Z1 4 KbStack
Z2 64 KbStack
Если тип запускаемы потоков P2, то анализировать состояние потоков вы не можете, в этом случае
S1 вывести на консоль собственный TID
S2 сравнить собственный TID с TID родителя
S3 запретить уничтожение th2, затем разрешить его и уничтожить th2
S4 установить деструктор потока как указатель на функцию, которая выводит «I`am killed»
S5 Установить тип завершения th2 отсроченное
S6 Установить тип завершения th2 асинхронное
N |
S |
P |
Z |
1 |
1 |
1 |
1 |
2 |
1 |
1 |
2 |
3 |
1 |
2 |
1 |
4 |
1 |
2 |
2 |
5 |
2 |
1 |
1 |
6 |
2 |
1 |
2 |
7 |
2 |
2 |
1 |
8 |
2 |
2 |
2 |
9 |
3 |
1 |
1 |
10 |
3 |
1 |
2 |
11 |
3 |
2 |
1 |
12 |
3 |
2 |
2 |
13 |
4 |
1 |
1 |
14 |
4 |
1 |
2 |
15 |
4 |
2 |
1 |
16 |
4 |
2 |
2 |
17 |
5 |
1 |
1 |
18 |
5 |
1 |
2 |
19 |
5 |
2 |
1 |
20 |
5 |
2 |
2 |
21 |
6 |
1 |
1 |
22 |
6 |
1 |
2 |
23 |
6 |
2 |
1 |
24 |
6 |
2 |
2 |
S1 fork() – exec()
S2 vfork() – exec()
S3 spawn*()
S4 system()
P1 Неименованные программные каналы
P2 Именованные программные каналы
P3 Разделяемая память
P4 Именованные семафоры
P5 Неименованные семафоры
P6 Очереди сообщений POSIX
N |
S |
P |
1 |
1 |
1 |
2 |
1 |
2 |
3 |
1 |
3 |
4 |
1 |
4 |
5 |
1 |
5 |
6 |
1 |
6 |
7 |
2 |
1 |
8 |
2 |
2 |
9 |
2 |
3 |
10 |
2 |
4 |
11 |
2 |
5 |
12 |
2 |
6 |
13 |
3 |
1 |
14 |
3 |
2 |
15 |
3 |
3 |
16 |
3 |
4 |
17 |
3 |
5 |
18 |
3 |
6 |
19 |
4 |
1 |
20 |
4 |
2 |
21 |
4 |
3 |
22 |
4 |
4 |
23 |
4 |
5 |
24 |
4 |
6 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.