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

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

Упражнение 1:
Номер 1
Над условной переменной определены основные операции:

Ответ:

 (1) wait 

 (2) error 

 (3) signal 


Номер 2
До какого момента блокируется нить, выполнившая операцию wait?

Ответ:

 (1) пока другая нить не выполнит операцию wait 

 (2) пока другая нить не выполнит операцию signal 

 (3) пока эта же нить не выполнит операцию wait 


Номер 3
Над семафором определены основные операции:

Ответ:

 (1) signal 

 (2) wait 

 (3) post 


Упражнение 2:
Номер 1
Какая операция, определенная над условной переменной, уничтожает атрибуты условной переменной?

Ответ:

 (1) pthread_condattr_destroy(3C) 

 (2) pthread_condattr_getpshared(3C) 

 (3) pthread_condattr_init(3C) 

 (4) pthread_condattr_setpshared(3C) 

 (5) pthread_cond_broadcast(3C) 

 (6) pthread_cond_destroy(3C) 


Номер 2
Какая операция, определенная над условной переменной, получает значения атрибута pshared?

Ответ:

 (1) pthread_condattr_destroy(3C) 

 (2) pthread_condattr_getpshared(3C) 

 (3) pthread_condattr_init(3C) 

 (4) pthread_condattr_setpshared(3C) 

 (5) pthread_cond_broadcast(3C) 

 (6) pthread_cond_destroy(3C) 


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

Ответ:

 (1) pthread_condattr_destroy(3C) 

 (2) pthread_condattr_getpshared(3C) 

 (3) pthread_condattr_init(3C) 

 (4) pthread_condattr_setpshared(3C) 

 (5) pthread_cond_broadcast(3C) 

 (6) pthread_cond_destroy(3C) 


Упражнение 3:
Номер 1
Какой функцией инициализируются неименованные семафоры?

Ответ:

 (1) sem_open(3RT) 

 (2) sem_init(3RT) 

 (3) sem_post(3RT) 


Номер 2
Какой функцией создаются именованные семафоры?

Ответ:

 (1) sem_open(3RT) 

 (2) sem_init(3RT) 

 (3) sem_post(3RT) 


Номер 3
Укажите существующие типы семафоров:

Ответ:

 (1) анонимные 

 (2) именованные 

 (3) неименованные 


Упражнение 4:
Номер 1
Укажите параметр системного вызова select(3C), который является числом, на единицу большим, чем максимальный номер файлового дескриптора во всех множествах, переданных как параметры:

Ответ:

 (1) int nfds 

 (2) fd_set *readfds 

 (3) fd_set *writefds 

 (4) fd_set *errorfds 

 (5) struct timeval * timeout 


Номер 2
Укажите параметр системного вызова select(3C), являющийся множеством дескрипторов, которые следует проверять на готовность к чтению:

Ответ:

 (1) int nfds 

 (2) fd_set *readfds 

 (3) fd_set *writefds 

 (4) fd_set *errorfds 

 (5) struct timeval * timeout 


Номер 3
Укажите параметр системного вызова select(3C), являющийся множеством дескрипторов, которые следует проверять на готовность к записи:

Ответ:

 (1) int nfds 

 (2) fd_set *readfds 

 (3) fd_set *writefds 

 (4) fd_set *errorfds 

 (5) struct timeval * timeout 


Упражнение 5:
Номер 1
Какой параметр функции sem_init(3RT) является инициализируемым семафором?

Ответ:

 (1) sem_t * sem 

 (2) int pshared 

 (3) unsigned int value 


Номер 2
Чему равно значение параметра int pshared функции sem_init(3RT), если семафор будет локальным в пределах процесса?

Ответ:

 (1) false 

 (2) 0 

 (3) ненулевое значение 


Номер 3
Какой параметр функции sem_init(3RT) является начальным значением флаговой переменной семафора?

Ответ:

 (1) sem_t * sem 

 (2) int pshared 

 (3) unsignedintvalue 


Упражнение 6:
Номер 1
Какая операция, определенная над условной переменной, устанавливает значение атрибута pshared?

Ответ:

 (1) pthread_condattr_destroy(3C) 

 (2) pthread_condattr_getpshared(3C) 

 (3) pthread_condattr_init(3C) 

 (4) pthread_condattr_setpshared(3C) 

 (5) pthread_cond_broadcast(3C) 

 (6) pthread_cond_destroy(3C) 


Номер 2
Какая операция, определенная над условной переменной, является широковещательным вариантом операции signal?

Ответ:

 (1) pthread_condattr_destroy(3C) 

 (2) pthread_condattr_getpshared(3C) 

 (3) pthread_condattr_init(3C) 

 (4) pthread_condattr_setpshared(3C) 

 (5) pthread_cond_broadcast(3C) 

 (6) pthread_cond_destroy(3C) 


Номер 3
Какая операция, определенная над условной переменной, уничтожает условную переменную?

Ответ:

 (1) pthread_condattr_destroy(3C) 

 (2) pthread_condattr_getpshared(3C) 

 (3) pthread_condattr_init(3C) 

 (4) pthread_condattr_setpshared(3C) 

 (5) pthread_cond_broadcast(3C) 

 (6) pthread_cond_destroy(3C) 


Упражнение 7:
Номер 1
Бит POLLERR в поле revents устанавливается, если:

Ответ:

 (1) на устройстве возникла ошибка 

 (2) сокет, труба или терминальное устройство закрыты на другом конце 

 (3) значение fd не соответствует валидному файловому дескриптору 


Номер 2
Бит POLLHUP в поле revents устанавливается, если:

Ответ:

 (1) на устройстве возникла ошибка 

 (2) сокет, труба или терминальное устройство закрыты на другом конце 

 (3) значение fd не соответствует валидному файловому дескриптору 


Номер 3
Бит POLLNVAL в поле revents устанавливается, если:

Ответ:

 (1) на устройстве возникла ошибка 

 (2) сокет, труба или терминальное устройство закрыты на другом конце 

 (3) значение fd не соответствует валидному файловому дескриптору 


Упражнение 8:
Номер 1
Укажите операцию, определенную над условной переменной, которая инициализирует условную переменную:

Ответ:

 (1) pthread_cond_init(3C) 

 (2) pthread_cond_timedwait_np(3C) 

 (3) pthread_cond_signal(3C) 

 (4) pthread_cond_wait(3C) 


Номер 2
Укажите операцию, определенную над условной переменной, которая выполняет ожидание с тайм-аутом:

Ответ:

 (1) pthread_cond_init(3C) 

 (2) pthread_cond_timedwait_np(3C) 

 (3) pthread_cond_signal(3C) 

 (4) pthread_cond_wait(3C) 


Номер 3
Укажите операцию, определенную над условной переменной, которая выполняет операцию signal:

Ответ:

 (1) pthread_cond_init(3C) 

 (2) pthread_cond_timedwait_np(3C) 

 (3) pthread_cond_signal(3C) 

 (4) pthread_cond_wait(3C) 


Упражнение 9:
Номер 1
Укажите параметр системного вызова select(3C), являющийся множеством дескрипторов, которые следует проверять на наличие исключительных состояний:

Ответ:

 (1) int nfds 

 (2) fd_set *readfds 

 (3) fd_set *writefds 

 (4) fd_set *errorfds 

 (5) struct timeval * timeout 


Номер 2
Укажите параметр системного вызова select(3C), устанавливающий тайм-аут, временной интервал, задаваемый с точностью до микросекунд:

Ответ:

 (1) int nfds 

 (2) fd_set *readfds 

 (3) fd_set *writefds 

 (4) fd_set *errorfds 

 (5) struct timeval * timeout 


Номер 3
Сколько параметров имеет системный вызов select(3C)?

Ответ:

 (1)

 (2)

 (3)


Упражнение 10:
Номер 1
При каком значении своего параметра int timeout, системный вызов poll(2) работает в режиме опроса?

Ответ:

 (1) 0 

 (2) 1 

 (3) -1 


Номер 2
При каком значении своего параметра int timeout, системный вызов poll(2) ждет готовности дескрипторов неограниченное время?

Ответ:

 (1) 0 

 (2) 1 

 (3) -1 


Номер 3
Если poll(2) возвращает управление по тайм-ауту, код возврата будет равен:

Ответ:

 (1) 0 

 (2) 1 

 (3) -1 


Упражнение 11:
Номер 1
Параметр системного вызова poll(2), являющийся массивом описателей дескрипторов:

Ответ:

 (1) struct pollfd fds[] 

 (2) nfds_t nfds 

 (3) int timeout 


Номер 2
Параметр системного вызова poll(2), являющийся количеством описателей в массиве fds:

Ответ:

 (1) struct pollfd fds[] 

 (2) nfds_t nfds 

 (3) int timeout 


Номер 3
Параметр системного вызова poll(2), определяющий тайм-аут в миллисекундах:

Ответ:

 (1) struct pollfd fds[] 

 (2) nfds_t nfds 

 (3) int timeout 


Упражнение 12:
Номер 1
Укажите операцию, определенную над условной переменной, которая выполняет ожидание условной переменной:

Ответ:

 (1) pthread_cond_init(3C) 

 (2) pthread_cond_timedwait_np(3C) 

 (3) pthread_cond_signal(3C) 

 (4) pthread_cond_wait(3C) 


Номер 2
Чему равно значение параметра int pshared функции sem_init(3RT), если семафор будет разделяемым между процессами?

Ответ:

 (1) false 

 (2) 0 

 (3) ненулевое значение 


Номер 3
При ошибке poll(2) возвращает:

Ответ:

 (1) 0 

 (2) 1 

 (3) -1 




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