inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)

Thread(5) - Prod and Cons Using Queue 강의중 궁금한게 생겼습니다

173

이성호

작성한 질문수 1

0

안녕하세요..강사님 패스트캠퍼스에서 부터 강의 잘 듣고 있습니다.
클래스 안에서의 동작이 잘 되질 않네요..
class main():
# 생산자
    def producer(self,queueevent):
        """네트워크 대기 상태라 가정(서버)"""
        while not event.is_set():
            message = random.randint(111)
            logging.info("Producer got message: %s"message)
            queue.put(message)

        logging.info("Producer received event. Exiting")

    # 소비자
    def consumer(self,queueevent):
        """응답 받고 소비하는 것으로 가정 or DB 저장"""
        while not event.is_set() or not queue.empty():
            message = queue.get()
            logging.info(
                "Consumer storing message: %s (size=%d)"messagequeue.qsize()
            )

        logging.info("Consumer received event. Exiting")

if __name__ == "__main__":
    # Logging format 설정
    format = "%(asctime)s%(message)s"
    logging.basicConfig(format=formatlevel=logging.INFO,
                        datefmt="%H:%M:%S")

    # 사이즈 중요
    pipeline = queue.Queue(maxsize=10)

    # 이벤트 플래그 초기 값 0
    event = threading.Event()

    # With Context 시작
    with concurrent.futures.ThreadPoolExecutor(max_workers=2as executor:
        executor.submit(main.producerpipelineevent)
        executor.submit(main.consumerpipelineevent)

        # 실행 시간 조정
        time.sleep(0.1)

        logging.info("Main: about to set event")
        
        # 프로그램 종료
        event.set()

python 동시성

답변 1

0

좋은사람

function 형식으로 바운드 하시는게 권장이니 기존 소스대로 실행 해보세요~

예외가 발생하면 로그 부분을 복사해서 붙여넣어 주시면 답변하기 편합니다.

Pros and Cons 관련하여 질문드립니다

0

72

1

daemon=True가 안 먹히네요

0

98

2

threadpoolexecutor.submit 실행 시 순차 실행

0

222

2

queue 를 사용하는 이유?

1

241

1

멀티프로세싱 관련 질문

0

189

1

python gil 삭제

0

371

1

4분:59초 질문 그룹쓰레드 (5). 대기중인 작업 -> Queue -> 완료 상태조사 -> 결과 또는 예외 -> 단일화(캡슐화) 에 관해서

0

174

1

데몬스레드 설명

0

241

1

작업영역 질문

0

310

1

cmd에서 code작성시 기존에 깔아둔 vscode에서 이상한 화면이 뜨네요

0

290

1

ThreadPoolExecutor에서 작업중인 쓰레드가 있을때 대기할수 있는 방법이 있는지요?

0

286

1

py_ad_2_5_2 Sharing State의 Argument 부분

0

301

1

Thread(4) 16:10 스레드 질문

0

343

1

파이썬 병렬처리 관련 질문이 있습니다.

0

352

1

10:10쯤에 질문있습니다.

0

257

1

multiprocessing(5) - Queue 공유 질문 in multiprocess

0

436

1

seleniumwire multiprocessing 에러

0

729

1

logging과 print 차이 질문입니다..!

0

671

1

확장프로그램 질문입니다

0

299

1

KeyboardInterrupt 시 p.join에서 exception 발생

0

420

1

경쟁상태,교착상태, 메모리영역

0

259

1

ProcessPoolExecutor 사용 시 pid 증가

0

354

1

multiprocess 환경에서 특정 Process에 문제가 있거나 죽었을때 처리 방법

0

755

1

ThreadPoolExecutor 에서 max_workers 질문입니다.

2

1533

1