1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import time from multiprocessing import Process, Value, Lock class Counter(object): def __init__(self, initval=0): self.val = Value('i', initval) self.lock = Lock() def increment(self): with self.lock: self.val.value += 1 def value(self): with self.lock: return self.val.value def func(counter): for i in range(50): time.sleep(0.01) counter.increment() if __name__ == '__main__': counter = Counter(0) procs = [Process(target=func, args=(counter,)) for i in range(10)] for p in procs: p.start() for p in procs: p.join() print counter.value() | cs |
'python' 카테고리의 다른 글
Tesseract - OCR 연습 (0) | 2018.03.23 |
---|---|
깨진 한글 인코딩 찾기 (0) | 2018.03.07 |
Mutiprocess Downloader (0) | 2018.03.05 |
Multiprocessing (0) | 2018.03.04 |
파일 이름 가져오기 (0) | 2018.03.02 |