python

multiprocessing 해보자

hangrum 2021. 7. 5. 23:56

구글링하면서 멀티 프로세싱을 해봤다.

한 파일에 쓰는걸 하려니 파일에 대해 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