60,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
4분:59초 질문 그룹쓰레드 (5). 대기중인 작업 -> Queue -> 완료 상태조사 -> 결과 또는 예외 -> 단일화(캡슐화) 에 관해서
그룹쓰레드 (5). 대기중인 작업 -> Queue -> 완료 상태조사 -> 결과 또는 예외 -> 단일화(캡슐화) 에 관해서 궁금한것인데, 쓰레드를 사용할 때 시나리오 - 쓰레드가 여러개 생성되면 GIL로 인해 대기중인 작업은 내부적으로 Queue에 담긴다. - 10개를 실행했을 때 누군가는 완료했고, 누군가는 진행중인지 완료 상태조사를 진행한다. - 플래그 값을 조사해서 결과 또는 예외 등의 결과값을 받아오고 이것을 단일화한다단일화한다는 것을 예시를 들어서 설명해주실 수 있나요?그리고 왜 단일화를 해야하나요??
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
데몬스레드 설명
주로 백그라운드 무한 대기 이벤트 발생 실행하는 부분 담당이란 말이 정확하게 무슨뜻인가요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
작업영역 질문
기존에 경로(폴더)에 파이썬 파일들이 있는데, 이것과 상관없이 선생님 강의 따라서 만든 가상환경파일은 작업환경이 아예 다르다고 봐도 되나요?아래와 같이 일단은 두개 만들어뒀는데, 서로 충돌하거나 문제되진 않는걸까요?요즘 주식api받아서 이것저것 해보려하는데, 32비트로 이렇게 가상환경 만들어서 하더라구요. 혹시 충돌되나 궁금해서 여쭤봅니다!음.. 이전에 사용하던 환경이 있어서인지 수업에서 진행하신것처럼 venv폴더에 있는 파이썬으로 연결해도 하단에 선생님처럼 venv라고 안뜨네요ㅜㅜ이렇게 뜨고있습니다.
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
cmd에서 code작성시 기존에 깔아둔 vscode에서 이상한 화면이 뜨네요
cmd에서 아래처럼 code라고 쳤는데 기존에 지정해둔 경로가 사라지고 아래처럼 알수없는 글만 잔뜩 뜨네요.. 왜그런걸까요? 다행히도 최근파일열기(컨트롤+r)로 기존경로에 있던 프로그램들 다시 불러오긴했는데, 이건 왜그런걸까요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
ThreadPoolExecutor에서 작업중인 쓰레드가 있을때 대기할수 있는 방법이 있는지요?
안녕하세요.정말 알찬 강의라 멀티프로세싱 스터디에 정말 좋은 교재가 되고 있습니다. 감사드리구요ThreadPoolExecutor를 사용하여 코딩하는데 질문이 있습니다.현재 저는 주식자동화 매매 관련 코딩 스터디 중인데요. ThreadPoolExecutor를 이용하여 주식주문이 동시에 체결되었을때의 병렬처리에 대하여 스터디 하고 있습니다.. 각기 다른 종목이 동시에 주문체결이 되었다면각각의 종목에 대한 후속처리를 동시성을 적용하여 각각 다른 쓰레드를 할당하여 병렬처리를 하면 되지만. 같은 종목이 약간의 시간차(?) 거의 동시에 연속적인 체결이 된다면 이때는 병렬처리가 아닌 앞 주문에 할당된쓰레드가 종료될때 까지 대기하고 있다가(후속작업이 꼬이지 않도록) 뒤에 체결된 주문을 처리하도록 쓰레드를 할당하는 동기적인 처리가 필요한 경우가 있습니다.이런 경우를 처리하기 위한 별도의 메서드가 있는지요? . 아니면 별도의 코딩을 해야한다면 어떤 방식으로코딩을 해야 하는지 문의드립니다. 감사합니다
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
py_ad_2_5_2 Sharing State의 Argument 부분
Sharing State의 두번째 예제 Value 객체를 다루는 부분에서 generate_update_number 함수에서 전달 받는 인자가 첫번째 예제와 같이 v: int라 명시되어 있습니다.하지만 함수 내부에선 v는 Value 객체로 활용되는데, 여전히 잘 동작하는 이유는 파이썬이 자동적으로 캐스팅 해주기 때문인가요? 아니면 다른 이유가 있는건가요?그리고 만약 교정이 필요하다면 함수 인자 Type Hint 표기 시 어떻게 해주어야 할까요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
Thread(4) 16:10 스레드 질문
안녕하세요,강의의 해당 부분에서 스택, 데이터 힙 영역에 대해서 설명해주셨는데 이해가 어려워서 질문남깁니다.Init함수는 스택 영역이고 그 안에서 데이터나 heap영역으로 self.value 변수를 공유한다. 이렇게 이해하면 될까요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
파이썬 병렬처리 관련 질문이 있습니다.
안녕하세요 질문이 있습니다. 스레드 또는 프로세스 최대 생성 개수을 300개로 제한을 두고,특정 스레드 또는 프로세스의 작업 종료시점에 새로운 스레드 또는 프로세스 생성하여 제한 개수를 지속적으로 유지할 수 있는 방법이 궁금합니다. 즉 생성 제한개수 300개는 넘지 않지만300개 이하시 계속적으로 추가하며 300개를 지속적으로 유지하며 실행할 수 있는 방법이 있을까요? 구체적으로 예를들면 300개를 생성했는데몇개의 프로세스가 작업을 완료하면 300개의 제한선에서 몇개의 생성 가용 개수가 허용될텐데(ex, -3개 종료 시 남은 수 297개: 3개 추가 가능)이를 다른 스레드나 프로세스 종료를 기다리지 않고, 바로 다시 생성해서 채울 수 있는 방법이 있을까요?(ex, 남은 수 297개 + 추가 가능 3개: 300개)단 항상 최대 수치는 300개입니다. 코멘트 주시면 감사하겠습니다.(만약 가능하시다면 코드로 말씀해주시면 더욱 감사하겠습니다!)
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
10:10쯤에 질문있습니다.
안녕하세요,process.join()하면 subprocess의 job이 모두 complete된 것인데, 왜 다시 while True에서 process가 끝날 때까지 무한대기를 해야 하는 것인가요? 이미 process의 job은 종료된 것 아닌가요?... q = Queue() process = [] for i in range(5): t = Process(name=str(i), target=worker, args=(1, 100000000, q)) process.append(t) t.start() ... while True:
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
multiprocessing(5) - Queue 공유 질문 in multiprocess
안녕하세요,강의에서 선언한 큐를 여러개의 프로세스의 args로 넘겨주면서 마치 큐가 process 들에서 공유되는거처럼 보였는데 실제로 id를 통해 주소를 찍어보면 각 프로세스에서 다른 주소값을 보여주네요. 관련해서 내부적으로 어떻게 작동하는지 설명해주시거나 참고 자료 같은거 추천해주시면 감사하겠습니다.
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
seleniumwire multiprocessing 에러
셀레니움 멀티프로세싱하면 잘 돌아갑니다. 하지만 from seleniumwire import webdriver셀레니움와이어를 멀티 프로세싱으로 돌리게 되면[37052:24192:0901/174906.460:ERROR:cert_verify_proc_builtin.cc(701)] CertVerifyProcBuiltin for z.cdp-dev.cnn.com failed:----- Certificate i=1 (CN=Selenium Wire CA) -----ERROR: No matching issuer found위와 같은 에러 문구가 나네요구글링해도 관련 내용이 안보여서 질문 남겨봅니다.
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
logging과 print 차이 질문입니다..!
해당 강의에서 너무 수준 낮은 질문일지는 모르겠지만 너무너무 궁금해서요...!회사에서 모델개발을 하는데 logging모듈이 보여서 안그래도 찾아보고 있었는데 이 강의에 자주 등장하더라구요기본적으로 Logging 모듈이 디버그 할때 훨씬 편리하다는건 파악이 되었는데요 혹시 특별히 print를 쓰거나 logging 모듈을 쓰는 경우가 있을까요?예제파일 2-2에도 sub process 가 있는 proc_func 함수엔 print구문을 쓰시고, 메인 함수에는 logging 모듈을 사용하셨는데 특별한 이유가 있을까요?!
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
확장프로그램 질문입니다
강의 중 특정 모듈에 있는 함수를 클릭하면 해당 코드를 볼 수 있게 이동하는? 확장프로그램이 있는것 같은데 혹시 알 수 있을까요..?찾아봐도 못찾겠어서 여쭤봅니다...!
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
KeyboardInterrupt 시 p.join에서 exception 발생
w_worker = Process(target=self.w_job, args=(w_queue,)) w_worker.start() workers.append(w_worker) try: ~ except KeyboardInterrupt: for w in workers: w.join()안녕하세요 강사님,w.join()에서 아래와 같은 exception이 발생하는데, 어떤 문제인지 모르겠어서 질문드립니다.Exception ignored in atexit callback: <function _exit_function at 0x7f61a90b72e0> Traceback (most recent call last): File "/usr/lib/python3.10/multiprocessing/util.py", line 357, in _exit_function p.join() File "/usr/lib/python3.10/multiprocessing/process.py", line 149, in join res = self._popen.wait(timeout) File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 43, in wait return self.poll(os.WNOHANG if timeout == 0.0 else 0) File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 27, in poll pid, sts = os.waitpid(self.pid, flag) KeyboardInterrupt:해당 에러는 어떤 부분때문에 발생하는 지, 어떤 선행작업이 필요한지 궁금합니다.
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
경쟁상태,교착상태, 메모리영역
안녕하세요 선생님 !데드락 강의 내용 중 질문이 있어 글 남깁니다.[1] 경쟁상태, 교착상태 개념저는 mutex나 semaphore가 경쟁상태를 예방하기 위해 사용하는 개념으로 알고 있습니다. 그리고 mutex나 semaphore의 사용으로 인해 발생할 수 있는 문제가 교착상태라고 알고 있습니다. 그런데 강의에선 mutex나 semaphore가 경쟁상태나 교착상태를 예방하기 위해 사용된다고 해서잠시 개념의 혼동이 오고 있습니다.어떻게 mutex나 semaphore가 교착상태의 원인이 아니라 교착상태를 해결할 수 있는 개념인지 설명 부탁드립니다.[2] 메모리영역 질문class FakeDataStore: def __init__(self): self.value = 0 에서 저는 value는 스택영역에 쌓이고 0 이라는 숫자 객체는 힙영역에 쌓이는 걸로 이해하고 있는데 강의에선 0이라는 객체가 데이터영역에 올라간다고 하셔서 제가 잘못 알고 있는것인지 문의드립니다.
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
ProcessPoolExecutor 사용 시 pid 증가
안녕하세요 강사님,ProcessPoolExecutor를 이용해서 아래와 같이 코드를 작성했는데요, return된 pid를 출력해보면 계속 증가하는 모습을 보이는데, python에서 할당받은 pid range 내에서만 반복되는 걸까요??? 이렇게 계속 증가하는게 별다른 문제는 되지 않을까요?try: while True: with ProcessPoolExecutor(max_workers=6) as ex: processes = {} # submit tasks to the pool processes.update({ex.submit(self.hello, time)}) for future in as_completed(processes, timeout=3): # check for a failure if future.exception(): # report progress LOG.error("Failed get %s", processes[future]) data = future.result() module = processes[future] pid = data
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
multiprocess 환경에서 특정 Process에 문제가 있거나 죽었을때 처리 방법
여러개의 process를 ProcessPoolExecutor 로 돌리거나 multiprocessing.Process 로 만들었을때, 특정 Process에서 문제가 발생하여 죽거나 zombie 가 되었을 때 보통 어떻게 처리하시나요?> 예를 들면 여러 process를 이용해서 컴퓨터를 monitoring 하는 프로그램을 짠다고 했을 때, 특정 monitoring process중 하나가 문제가 생겼을 때 해당 process를 살리거나 다시 실행하거나?여러 process들을 사용하고 있을 때 해당 process들이 잘 돌고 있는지, Queue와 Process를 모니터링할때는 어떤 방법을 사용하시나요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
ThreadPoolExecutor 에서 max_workers 질문입니다.
max_workers 옵션을 사용할때 작업의 개수가 넘어가면 직접설정이 유리하다고 하셨는데요..!작업의 개수가 넘어간다는 말의 의미가 뭔지 이해가 가지 않습니다 ㅠㅠ 혹시 좀 더 자세하게 설명해주실 수 있을까요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
1-3강의 내용중 질문있습니다.
전반적인 내용은 이해를 했는데 포매팅에 대한 이해도가 아직 부족한것 같습니다.. 강의 코드 중 format = "%(asctime)s: %(message)s" logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S")이런 코드가 있었는데요, 왜 date포맷 형식이 출력될때는 먼저 나오나요? asctime이라는 저 포맷 형태가 자동으로 datefmt를 인식해서 그런건가요?
- 미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
강의 정리한 것들
제가 강의 들으면서 VSC나 노트패드로 필기하고 따라하면서 따로 더 조사한 것들을 모았는데요그렇게 level1부터 4까지 완강했습니다. 이것들을 개인 유튜브, 깃헙, 노션, 블로그 같은 곳에 올려도 될까요?나중에 포트폴리오로 쓰고 싶기도 하고 개인 유튜브 영상을 만들 수도 있을 거 같습니다.물론 강의에 나온 대본을 따라한다는 것이 아니고 코드나 내용들이죠.