inflearn logo
강의

Course

Instructor

Python for Advanced Users: Learn the Grammar of Concurrency and Parallelism Feat. Multithreading vs. Multiprocessing (Inflearn Original)

멀티프로세싱 관련 질문

Resolved

176

nathan

86 asked

0

선생님 안녕하세요

좋은 강의 감사합니다.

 

multiprocessing(2) - Naming, Parallel processing

12분 경에서 질문이 있습니다.

 

    for i in range(1, 10): # 1 ~ 100 적절히 조절
        # 생성; name은 str을 받기 때문에 형변환
        t = Process(name=str(i), target=square, args=(i,))

        # 배열에 담기 - 한번에 풀면서 join 하기 위해서
        processes.append(t)

        # 시작
        t.start()

 

이런식으로 코드가 실행될때, 왜 서브 프로세스가 순서대로 실행이 되지 않는지 잘 이해가 가지 않습니다.

분명히 for loop에서 i가 순서대로 증가하면서 t.start()를 하거든요. 예를 들어, i =1 일때 t가 정의되고 t.start()가 된다음에 다시 i=2 가 되면서 반복되는 식으로요.

그럼 "논리상" 1번째 서브 프로세스부터 순차적으로 실행되어야 하는 것 아닌가요?

 

python 동시성

Answer 1

2

niceman

네 안녕하세요. nathan님

좋은 질문입니다.

서브 프로세서의 실행의 위임은 "운영체제"에 있습니다. 운영체제가 스케쥴링에 맞춰서

실행 후 결과 값을 반환하는대요.

뒷 부분에서 각 프로세스의 현재 상태 체크와 실행 완료 순서가 먼저 처리 된 것을 기반으로

다양한 컨틑롤을 할 수 있습니다.

결국은 운영체제가 실행하기 때문입니다.

또한, 아래 링크도 한 번 읽어보시면 도움이 되실거예요.

https://m.blog.naver.com/PostView.nhn?blogId=sagala_soske&logNo=221280201722&proxyReferer=https:%2F%2Fwww.google.com%2F

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

0

58

1

daemon=True가 안 먹히네요

0

82

2

threadpoolexecutor.submit 실행 시 순차 실행

0

211

2

queue 를 사용하는 이유?

1

224

1

python gil 삭제

0

369

1

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

0

165

1

데몬스레드 설명

0

235

1

작업영역 질문

0

302

1

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

0

284

1

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

0

272

1

py_ad_2_5_2 Sharing State의 Argument 부분

0

298

1

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

0

334

1

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

0

345

1

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

0

250

1

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

0

429

1

seleniumwire multiprocessing 에러

0

723

1

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

0

656

1

확장프로그램 질문입니다

0

292

1

KeyboardInterrupt 시 p.join에서 exception 발생

0

412

1

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

0

257

1

ProcessPoolExecutor 사용 시 pid 증가

0

351

1

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

0

750

1

ThreadPoolExecutor 에서 max_workers 질문입니다.

2

1520

1

1-3강의 내용중 질문있습니다.

0

237

1