Главная /
Язык программирования Python /
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок) def f(x, y, z): global d1, d2 # 1
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x, y, z):
global d1, d2
# 1
d1[(x, y)] = z
# 2
d2[z] = (x, y)
# 3
res = len(d2)
# 4
return res
вопрос
Правильный ответ:
1:
Z.acquire(), 3: Z.release()
1:
Z.acquire(), 2: Z.release(), Z.acquire(), 3: Z.release()
1:
Z.acquire(), 4: Z.release()
замок не нужен
Сложность вопроса
82
Сложность курса: Язык программирования Python
62
Оценить вопрос
Комментарии:
Аноним
Я сотрудник университета! Оперативно сотрите сайт и ответы с интуит. Пишу жалобу
19 окт 2017
Аноним
Какой студент ищет данные ответы inuit? Это же очень просты вопросы
19 сен 2016
Другие ответы на вопросы из темы интернет-технологии интуит.
- # Какие ошибки допущены в следующем фрагменте? import sqlite as db c = db.connect(database="tvprogram") cu = c.cursor() cu.execute("SELECT wdname FROM wd ORDER BY weekday;") for i in cu.fetchall(): print i[0]
- # Какие ошибки допущены в следующем фрагменте? import sqlite as db c = db.connect(database="tvprogram") c.execute("SELECT wdname FROM wd ORDER BY weekday;") for i in c.fetchall(): print i[0]
- # Что делает следующая программа? import threading l = 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()
- # Имеется определение класса: class Line: def __init__(self, (x, y), (x1, y1)): self._b = (x, y) self._e = (x1, y1) def length(self): import math return math.sqrt((self._b[0]-self._e[0])**2 + (self._b[1]-self._e[1])**2) def begin(self): return self._b def end(self): return self._e l = Line((1, 2), (-1, 4)) Какие из вариантов его применения не допустимы в программах на Python, которые пользуются экземплярами класса Line?
- # Что делает метод normalize() DOM-объекта?