Что делает следующая программа?import threadingl = threading.Lock()def proc(nm, n=0): l.acquire() try: if n < 5: print "*", return proc(nm, n+1) else: return nm finally: l.release() for i in range(5): threading.Thread(target=proc, args=(str(i),)).start()
(Отметьте один правильный вариант ответа.)
Варианты ответа
печатает 25 звездочек
беспрерывно печатает звездочки
печатает 5 звездочек
печатает 1 звездочку и зависает(Верный ответ)
аварийно завершается при попытке выполнить l.acquire() во второй раз