구글링하면서 멀티 프로세싱을 해봤다.
한 파일에 쓰는걸 하려니 파일에 대해 lock 했다 풀었다 어쩌구 하는걸 알아야 되는거 같은데..
너무 황새 다리 따라가는 식으로 하는거 같다.
그래도 재미는 있었다. 내가 돌리는게 채굴기 마냥 스레드당 100% 씩 먹는걸 보니 뿌듯.
#!/usr/bin/env python3
import multiprocessing
import random
import time
start=time.time()
def lotto(name):
f=open(name,"w")
for i in range(1,100000):
line=[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,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45]
random.shuffle(line)
del line[6:]
line.sort()
for i in line:
f.write(str(i) + " ")
f.write("\n")
f.close
if __name__ == "__main__":
pool = multiprocessing.Pool(processes=100)
pool.map(lotto, "abcdefghijklmnop")
pool.close()
pool.join()
end=time.time()
elapsed=end-start
print ('elapsed {0} seconds'.format(elapsed))
'python' 카테고리의 다른 글
vscode 디버깅 걸기 (0) | 2021.07.08 |
---|---|
밴드 1일 1코딩 - python으로 (0) | 2021.07.04 |