Portfolio/Python

Threading

시작의 의미 2020. 2. 14. 18:23

하나의 프로그램한번 동작 시키면 한번 실행 시키면 된다.

하나의 프로그램여러번 동작 시키려면 여러번 실행 시켜야 된다.

 

여기서 이야기 하는 여러번시간의 축상에서 직렬적으로 일어나는 것을 상상할 것이다. (적어도 나는 그랬다.)

하지만 쓰레딩이란 것은 시간의 축상에서 직렬적으로 일어나는 것을 병렬적으로 실행시킬 수 있다.

 

나의 경우는 작업 시간을 단축하기 위한 용도로 사용했었다.

그런데 인터넷에 찾아보니 이런 저런 장점이 있었다. (https://niceman.tistory.com/138)

 

  • CPU 사용률 향상
  • 효율적인 자원 활용 및 응답성 향상
  • 코드 간결 및 유지보수성 향상

나는 이러한 방식을 이용했다.

 

  • 이전 스크립트의 main부를 하나의 sub_main(args)로 만든다.
  • import threading 추가
  • threading 기능만 하는 main 을 만들고 그 안에 sub_main을 넣는다.

for o in 필요한 변수 배열 # 필요한 변수를 for 문을 이용하여 뿌려준다.

thread = threading.Thread(target=sub_main(args, o ...))

thread.start()

 

자원의 효율성이 얼마나 차이가 나고 얼마나 유용한가는 솔직히 모르겠다.

 

그러나 이걸로 알 수 있는 건 이를 이용하여 개념이 더 간결하게 짜여 진다는 것이다.

'Portfolio > Python' 카테고리의 다른 글

python ping test code  (0) 2020.10.28
Python Error 모음 : iteration over non-sequence  (0) 2020.02.10