Вариант 2471078272.
Может ли возникнуть deadlock в следующей программе:
import threading res_A = threading.Lock() res_B = threading.Lock() res_C = threading.Lock() def proc1(): res_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_B.release(); res_C.release(); res_A.release() def proc2(): res_B.acquire(); res_C.acquire(); res_A.acquire() # ... res_C.release(); res_B.release(); res_A.release() def proc3(): res_C.acquire(); res_A.acquire(); res_B.acquire() # ... res_A.release(); res_B.release(); res_C.release() p1 = threading.Thread(target=proc1, name="t1") p2 = threading.Thread(target=proc2, name="t2") p3 = threading.Thread(target=proc3, name="t3") p1.start(); p2.start(); p3.start() p1.join(); p2.join(); p3.join();
Что делает следующая программа?
import threading l = threading.RLock() def proc(nm, n=0): l.acquire() try: if n < 5: print("*", end='') return proc(nm, n+1) else: return nm finally: l.release() for i in range(5): threading.Thread(target=proc, args=(str(i),)).start()
Какого типа значение получится в результате вычисления следующего выражения:
(" ", )
import threading l = threading.Lock() def proc(nm, n=0): l.acquire() try: if n < 5: print("*", end='') return proc(nm, n+1) else: return nm finally: l.release() for i in range(5): threading.Thread(target=proc, args=(str(i),)).start()
Сколько элементов будет содержать список, полученный в следующем списковом включении:
[x for x in itertools.takewhile(lambda x: x < 23, itertools.count(10))]
Какие встроенные функции возвращают в качестве значения словарь (или подобный объект)?
Какую роль играет xx в следующей Python-программе
def xx(func): class X(object): pass setattr(X, func.__name__, func) return X
Сколько элементов будет содержать словарь D (то есть, чему будет равно len(D)) после выполнения следующего кода:
D = {} D[1], D[2], D[3] = "ABB" D[0], D[1] = "AB"
Каким из приведенных ниже способов можно убрать из строки s пробельные символы слева и справа?
Какую роль играет «xx» в Python-программе, и чему должен быть равен «XXX»:
class A: def xx(): return A.__name__ xx = XXX(xx)