Python/Concurrency 4

Python 멀티쓰레딩 Queue를 사용해 봅시다

지난 번 포스팅을 통해서, walkaroundthedevelop.tistory.com/54 queue 와 deque에 대해서 알아보았습니다. multithreading을 하는데에, queue를 자주 쓰는데, 그 방법에 대해서 알아봅시다. 출처 : www.troyfawkes.com/learn-python-multithreading-queues-basics/ my_queue = Queue(maxsize=0) my_queue.put(1) my_queue.put(2) my_queue.put(3) print my_queue.get() my_queue.task_done() # Outputs: 1 여기서 task_done()은 나중에 join() 함수를 위해서 필요합니다. 관련 포스팅 : stackoverflow.c..

Python/Concurrency 2021.03.30

Python Multiprocessing - 멀티프로세싱

www.youtube.com/watch?v=fKl2JW_qrso&t=185s 멀티쓰레딩과 거.. 의 똑같다. 키워드만 다를 뿐.. import time import multiprocessing start = time.perf_counter() def something(): print('sleeping..1 second) time.sleep(1) print('Done sleeping') processes = [] for _ in range(10): p = multiprocessing.Process(target=do_something) p.start() processes.append(p) for process in processes: process.join() finish = time.perf_counter..

Python/Concurrency 2020.10.30

Python Multithreading and Multiprocessing - Multithreading

www.youtube.com/watch?v=IEEhzQoKtQU 위는 영어로 된 동영상인데, 영어만 알아듣는다면 굉장히 좋다... 일단 동시성(Concurrency)와 병렬(Parellism)을 구분할 수 있어야 한다. 동시성은, Multithreading을 포함한 asyncronous 한 function들을 말한다. 하지만 암시적으로, 병렬이 아니라는 걸 말한다. 병렬은, 동시성을 포함하는 개념이며, 여러 코어에 프로세스가 돌아갈 수 있게 한다. 즉, 동시성은 한 코어에서 여러 개의 쓰레드가 돌아가는 걸 얘기하지만 병렬은 여러개의 코어 각각에서 각각의 프로세스가 돌아가는 걸 얘기한다. 즉, 동시성은 실제로 cpu가 많이 소모되는 일을 할 때에는 많은 속도향상을 하진 못하고, 그걸 하려면 병렬 프로그래밍..

Python/Concurrency 2020.10.30

Python Threading과 multiprocessing

좋은 글이 있어서 올린다. 한글 버전: pythonstudy.xyz/python/article/24-%EC%93%B0%EB%A0%88%EB%93%9C-Thread 예제로 배우는 파이썬 프로그래밍 - 쓰레드 (Thread) 쓰레드 (Thread) 파이썬 프로그램은 기본적으로 하나의 쓰레드(Single Thread)에서 실행된다. 즉, 하나의 메인 쓰레드가 파이썬 코드를 순차적으로 실행한다. 코드를 병렬로 실행하기 위해서는 별도의 pythonstudy.xyz 영어 : realpython.com/intro-to-python-threading/ An Intro to Threading in Python – Real Python In this intermediate-level tutorial, you'll lear..

Python/Concurrency 2020.10.21