전체 글3586 멀티 프로세스를 이용한 병렬처리에 들어가 보기 -2- 안녕하세요? 지난번 포스팅에서 어떻게 해서 이래저래 여러개의 프로세스를 동시에 실행시킨 것을 확인할 수 있었습니다. 그런데 문제는 여기에 데이터를 전송해야 하는 문제가 있습니다. 이 문제를 해결하기 위해서 일단 이번 포스팅에서 이래저래 많은 시도를 했는데, 그 내용을 한번 올려보고자 합니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 일단 윈도 운영체제를 위해서 코드를 추가해 주도록 합니다. 그리고 나서 Popen에 새로운 옵션을 추가해 주도록 합니다. 그리고 나서 일일히 communicate하는 함수를 사용해 주도록 합니다. 이렇게 해서 무언가 변화-통신이 일단 부모 프로세스에서 자식 프로세스로 전달이 될 것을 기대를 했습니다. 결과부터 먼저 이야기를 한번 하자면, 일단 절반의 성공으로 우선 데이터를 제.. 2020. 2. 24. 멀티 프로세스를 이용한 병렬처리에 들어가 보기 -1- 안녕하세요? 멀티 스레드를 이용해서 어떻게 여러개의 조건을 병렬로 처리해 보고자 했습니다만, 그건 뜻대로 되지 않았습니다. 그래서 하는 수 없이 파이썬에서 멀티 스레드가 GIL이라는 락이 있어서 이런 특징이 있다고 하니, 이를 위해서 존재하는 멀티 프로세스를 이용해 보도록 했습니다. 이 작업을 하기 위해서 먼저 기존의 py파일을 복사해서 새로 만들어 준다고 해야 할까요? 일단 복사해서 다른 이름으로 만들어 주도록 합니다. 그리고 나서 기존에 하는 것처럼 for문 아래에 있는 데이터 베이스에서 하나하나 데이터를 읽어오는 문장을 그냥 주석처리 하도록 합니다. 그리고 나서 이번 작업을 하기 위해서, 일단 위 스크린샷처럼 새로운 차일드 프로세스 역할을 할 py파일을 생성해 주도록 합니다. 그리고 나서 다음으로 .. 2020. 2. 23. 초기 테스트에 멀티 스레드를 적용해 보기 -3- 안녕하세요? 이번 포스팅에서는 지난번에 너무 길어서 끊었던 지점부터 이어서 작업을 하는 모습을 보여줄 것인데, 여기서 마지막에 결론이라면 결론이 하나 나오기는 나왔습니다. 아무튼 간에 이 결론에 이르는 과정을 한번 보여드릴까 합니다. 먼저 위 스크린샷처럼 메인 스레드라고 해야 할까요? 일단 여기서 신호를 받게 되면, 그 신호를 받아서 우선은 유용하게 프로그레스 바를 정리할 수 있도록 만들어 주도록 합니다. 그 다음으로위 스크린샷과 같이 현재 상황을 알려주기 위한 신호를 송출하기 위한 메서드도 한번 작성을 해 보도록 합니다. 물론 위치는 바로 Worker에 설치를 해 주어야 합니다. 그리고 나서 당연하다면 당연하게도 원래는 프로그레스 바를 가지고 작업을 하던 곳에서 원래 코드를 주석처리하고, 대신 신호를 .. 2020. 2. 22. 초기 테스트에 멀티 스레드를 적용해 보기 -2- 안녕하세요? 지난번 포스팅에서 어떻게 exe파일로 빌드하는 것 까지 담당을 하기는 했었는데, 문제는 이것만 가지고는 안되기에 일단 본격적으로 멀티 스레딩을 하기 위한 과정에 들어가 봐야 하는 단계가 아직 남아 있습니다. 일단 포스팅을 할 내용이 길어져서 하는 수 없이 전체적인 포스팅을 나누어야 했습니다. 먼저 위 스크린샷과 같이 기존에 있던 데이터 베이스에서 데이터를 읽어오기 위한 메서드를 주석처리 해서 막아 주도록 합니다. 그리고 나서 작업을 하기 위해서 QThread라고 이름이 붙어 있는 새로운 Worker라는 클래스를 만들어 보도록 합니다. 이 클래스에서는 가지가지 요소들을 받아 와야 합니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷처럼 기존의 메서드를 위 스크린샷과 같이 멀티 스레드가 실행될.. 2020. 2. 21. 이전 1 ··· 496 497 498 499 500 501 502 ··· 897 다음