본문 바로가기
무모한 도전-주식 인공지능 만들기

멀티 프로세스를 이용한 병렬처리에 들어가 보기 -8-

by 인터넷떠돌이 2020. 2. 28.
반응형

안녕하세요?

 

지난번 포스팅에서 어찌어찌해서 원하는 것과 가장 근접한 결과를 얻는데는 성공했습니다만, 문제는 두번째 progressBar가 없어서 전체적인 프로세스가 어느정도 진행이 되었는지 알아보는데 문제가 많이 있습니다. 그래서 이번 포스팅에서는 이 문제를 해결하기 위해서 움직여 보겠습니다.

 

먼저 QtDesigner에서 위 스크린샷처럼 자식 프로세스의 GUI를 수정해 주도록 합니다. 별것 아니고 전체 프로세스를 알 수 있는 두번째 작업 표시줄을 표시하도록 합니다.

 

그리고 나서 먼저 자식 프로세스에서 두번째 작업표시줄을 어떻게 범위를 설정할 것인지 코드를 추가해 주도록 합니다. 이렇게 해서 추가가 되었다면, 다음 코드를 작성하러 가 봅니다.

 

그리고 당연하다면 당연하게도 두번째로 전체적인 프로세스의 진행상황을 알려주기 위해서, 위 스크린샷에서 볼 수 있었던 것과 같이 일단 현재값을 세팅해 주도록 합니다.

 

 

이렇게 해서 위 gif에서 나와 있는 것처럼 일단 작업이 제대로 되는 것을 확인할 수 있기는 있었습니다. 일단 어딘가 미심쩍은 면도 있지만, 너무 크게 신경은 쓰지 않도록 했습니다.

 

이제까지는 자식 프로세스를 독자적으로 실행시켰을 때 나왔던 결과이고, 이제는 본격적으로 부모 프로세스로 부터 정보를 받아서 작동을 시켜 보고자 합니다.

 

그리고 나서 위 스크린샷에서 나와 있는 것처럼 일단 부모 프로세스도 조기에 자동으로 종료가 될 수있도록 만들어 줄 수 있도록 합니다.

 

이렇게 되었으니 이제 본격적으로 한번 시간을 측정해 보기 위해서, 시간을 측정하기 위한 코드를 작성해서 한번 박아 주도록 했습니다.

 

그런데 생각외의 결과가 나왔습니다. 자식 프로세스가 시작도 하기 전에 부모 프로세스가 종료되어 버리는 결과랄까 어무 일찍 종료가 되어 버렸습니다.

 

이러한 문제 때문에 다시금 시간을 측정하기 위한 코드를 주석처리해서 봉인을 하고 방법을 강구해 봐야 겠다는 생각이 듭니다. 아무튼 간에 이렇게 해서 당분간은 이렇게 주석처리는 주석처리로 해 놓고서 어떻게 부모 프로세스를 안정적으로 종료시킬 수 있는지 찾아 보도록 해야 합니다.

반응형