игра брюс 2048
Главная / Программирование / Многопоточное программирование с использованием POSIX Threads / Тест 4

Многопоточное программирование с использованием POSIX Threads - тест 4

Упражнение 1:
Номер 1
Какой параметр функции pthread_create(3C) является выходным?

Ответ:

 (1) const pthread_attr_t * attr 

 (2) pthread_t * thread 

 (3) void *(*start_routine)(void*) 

 (4) void *arg 


Номер 2
Укажите параметры функции pthread_create(3C), которые являются входными?

Ответ:

 (1) const pthread_attr_t * attr 

 (2) pthread_t * thread 

 (3) void *(*start_routine)(void*) 

 (4) void *arg 


Номер 3
Какой из параметров функции pthread_create(3C) является значением, которое будет передано в качестве параметра start_routine?

Ответ:

 (1) const pthread_attr_t * attr 

 (2) pthread_t * thread 

 (3) void *(*start_routine)(void*) 

 (4) void *arg 


Упражнение 2:
Номер 1
Какой из параметров функции pthread_create(3C) является указателем на переменную, в которой при успешном завершении будет размещен идентификатор нити?

Ответ:

 (1) const pthread_attr_t * attr 

 (2) pthread_t * thread 

 (3) void *(*start_routine)(void*) 


Номер 2
Какой из параметров функции pthread_create(3C) является указателем на структуру, в которой заданы атрибуты нити?

Ответ:

 (1) const pthread_attr_t * attr 

 (2) pthread_t * thread 

 (3) void *(*start_routine)(void*) 


Номер 3
Какой из параметров функции pthread_create(3C) является указателем на функцию, которая будет запущена во вновь созданной нити?

Ответ:

 (1) const pthread_attr_t * attr 

 (2) pthread_t * thread 

 (3) void *(*start_routine)(void*) 


Упражнение 3:
Номер 1
Укажите возвращаемое значение функции pthread_create(3C) при успешном завершении:

Ответ:

 (1) TRUE 

 (2) 0 

 (3) код ошибки 


Номер 2
Укажите возвращаемое значение функции pthread_create(3C) при неудачном завершении:

Ответ:

 (1) true 

 (2) 0 

 (3) код ошибки 


Номер 3
Укажите функцию POSIX, которая указывает, что все ресурсы, связанные с нитью, необходимо уничтожать сразу после завершения этой нити:

Ответ:

 (1) pthread_once(3C) 

 (2) pthread_detach(3C) 

 (3) pthread_join(3C) 


Упражнение 4:
Номер 1
Какой код ошибки возвращает функция pthread_create(3C), если системе не хватает ресурсов для создания нити?

Ответ:

 (1) eagain 

 (2) einval 

 (3) eperm 


Номер 2
Какой код ошибки возвращает функция pthread_create(3C), если один из параметров имеет недопустимое значение?

Ответ:

 (1) eagain 

 (2) einval 

 (3) eperm 


Номер 3
Какой код ошибки возвращает функция pthread_create(3C), если процесс не имеет полномочий для исполнения нити с заданными атрибутами?

Ответ:

 (1) eagain 

 (2) einval 

 (3) eperm 


Упражнение 5:
Номер 1
Функция POSIX, которая создает приватные или локальные данные нити:

Ответ:

 (1) pthread_key_create(3C) 

 (2) pthread_once(3C) 

 (3) pthread_create(3C) 

 (4) pthread_exit(3C) 

 (5) pthread_join(3C) 

 (6) pthread_cancel(3C) 


Номер 2
Функция POSIX, которая инициализирует динамические пакеты в многопоточной программе:

Ответ:

 (1) pthread_key_create(3C) 

 (2) pthread_once(3C) 

 (3) pthread_create(3C) 

 (4) pthread_exit(3C) 

 (5) pthread_join(3C) 

 (6) pthread_cancel(3C) 


Номер 3
Функция POSIX, которая создает нить:

Ответ:

 (1) pthread_key_create(3C) 

 (2) pthread_once(3C) 

 (3) pthread_create(3C) 

 (4) pthread_exit(3C) 

 (5) pthread_join(3C) 

 (6) pthread_cancel(3C) 


Упражнение 6:
Номер 1
Функция POSIX, которая используется для завершения нити:

Ответ:

 (1) pthread_key_create(3C) 

 (2) pthread_once(3C) 

 (3) pthread_create(3C) 

 (4) pthread_exit(3C) 

 (5) pthread_join(3C) 

 (6) pthread_cancel(3C) 


Номер 2
Функция POSIX, которая используется для ожидания завершения нити и получения ее кода возврата:

Ответ:

 (1) pthread_key_create(3C) 

 (2) pthread_once(3C) 

 (3) pthread_create(3C) 

 (4) pthread_exit(3C) 

 (5) pthread_join(3C) 

 (6) pthread_cancel(3C) 


Номер 3
Функция POSIX, которая используется для принудительного завершения нити:

Ответ:

 (1) pthread_key_create(3C) 

 (2) pthread_once(3C) 

 (3) pthread_create(3C) 

 (4) pthread_exit(3C) 

 (5) pthread_join(3C) 

 (6) pthread_cancel(3C) 


Упражнение 7:
Номер 1
Укажите значение по умолчанию атрибута scope в структуре pthread_attr_t:

Ответ:

 (1) PTHREAD_SCOPE_PROCESS 

 (2) PTHREAD_CREATE_JOINABLE 

 (3) NULL 

 (4) 0 

 (5) PTHREAD_EXPLICIT_SCHED 

 (6) SCHED_OTHER 


Номер 2
Укажите значение по умолчанию атрибута detachstate в структуре pthread_attr_t:

Ответ:

 (1) PTHREAD_SCOPE_PROCESS 

 (2) PTHREAD_CREATE_JOINABLE 

 (3) NULL 

 (4) 0 

 (5) PTHREAD_EXPLICIT_SCHED 

 (6) SCHED_OTHER 


Номер 3
Укажите значение по умолчанию атрибута stackaddr в структуре pthread_attr_t:

Ответ:

 (1) PTHREAD_SCOPE_PROCESS 

 (2) PTHREAD_CREATE_JOINABLE 

 (3) NULL 

 (4) 0 

 (5) PTHREAD_EXPLICIT_SCHED 

 (6) SCHED_OTHER 


Упражнение 8:
Номер 1
Какой атрибут структуры pthread_attr_t определяет область действия?

Ответ:

 (1) scope 

 (2) stacksize 

 (3) stackaddr 

 (4) concurrency 

 (5) inheritsched 

 (6) schedparam 


Номер 2
Какой атрибут структуры pthread_attr_t определяет размер стека?

Ответ:

 (1) scope 

 (2) stacksize 

 (3) stackaddr 

 (4) concurrency 

 (5) inheritsched 

 (6) schedparam 


Номер 3
Какой атрибут структуры pthread_attr_t определяет адрес стека?

Ответ:

 (1) scope 

 (2) stacksize 

 (3) stackaddr 

 (4) concurrency 

 (5) inheritsched 

 (6) schedparam 


Упражнение 9:
Номер 1
Если требуемая нить еще не завершилась, то нить, сделавшая вызов pthread_join(3С), ... 

Ответ:

 (1) блокируется 

 (2) не блокируется 

 (3) завершается 


Номер 2
Если нить пытается ожидать сама себя с помощью функции pthread_join(3С), она получает ошибку:

Ответ:

 (1) esrch 

 (2) edeadlk 

 (3) einval 


Номер 3
Укажите значение по умолчанию атрибута schedpolicy в структуре pthread_attr_t:

Ответ:

 (1) PTHREAD_SCOPE_PROCESS 

 (2) PTHREAD_CREATE_JOINABLE 

 (3) NULL 

 (4) 0 

 (5) PTHREAD_EXPLICIT_SCHED 

 (6) SCHED_OTHER 


Упражнение 10:
Номер 1
Установка типа прерывания осуществляется функцией ... 

Ответ:

 (1) pthread_cancel(3C) 

 (2) pthread_setcancelstate(3C) 

 (3) pthread_setcanceltype(3C) 


Номер 2
Атрибут нити cancelstate определяет, ...

Ответ:

 (1) многопоточность программы 

 (2) время прерывания нити 

 (3) разрешено ли прерывание нити 


Номер 3
Укажите возможные значения атрибута нити cancel type:

Ответ:

 (1) PTHREAD_CANCEL_TRUE 

 (2) PTHREAD_CANCEL_NULL 

 (3) PTHREAD_CANCEL_DEFERRED 

 (4) PTHREAD_CANCEL_ASYNCHRONOUS 


Упражнение 11:
Номер 1
Какой атрибут структуры pthread_attr_t определяет степень параллелизма?

Ответ:

 (1) scope 

 (2) stacksize 

 (3) stackaddr 

 (4) concurrency 

 (5) inheritsched 

 (6) schedparam 


Номер 2
Какой атрибут структуры pthread_attr_t определяет наследование класса планирования?

Ответ:

 (1) scope 

 (2) stacksize 

 (3) stackaddr 

 (4) concurrency 

 (5) inheritsched 

 (6) schedparam 


Номер 3
Какой атрибут структуры pthread_attr_t определяет параметры планирования?

Ответ:

 (1) scope 

 (2) stacksize 

 (3) stackaddr 

 (4) concurrency 

 (5) inheritsched 

 (6) schedparam 


Упражнение 12:
Номер 1
Укажите значение по умолчанию атрибута stacksize в структуре pthread_attr_t:

Ответ:

 (1) PTHREAD_SCOPE_PROCESS 

 (2) PTHREAD_CREATE_JOINABLE 

 (3) NULL 

 (4) 0 

 (5) PTHREAD_EXPLICIT_SCHED 

 (6) SCHED_OTHER 


Номер 2
Укажите значение по умолчанию атрибута priority в структуре pthread_attr_t:

Ответ:

 (1) PTHREAD_SCOPE_PROCESS 

 (2) PTHREAD_CREATE_JOINABLE 

 (3) NULL 

 (4) 0 

 (5) PTHREAD_EXPLICIT_SCHED 

 (6) SCHED_OTHER 


Номер 3
Укажите значение по умолчанию атрибута inheritsched в структуре pthread_attr_t:

Ответ:

 (1) PTHREAD_SCOPE_PROCESS 

 (2) PTHREAD_CREATE_JOINABLE 

 (3) NULL 

 (4) 0 

 (5) PTHREAD_EXPLICIT_SCHED 

 (6) SCHED_OTHER