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

QThread의 적용 part4

by 인터넷떠돌이 2019. 7. 28.
반응형

안녕하세요?

 

이번 포스팅에서는 겨우겨우 어떻게 해서 주식 종목의 기본적인 정보를 가지고 오는데 성공했는데, 아무튼 간에 이건 이것이고, 다음으로 해야 할일은 바로 계좌에서 있는 기본적인 정보를 가지고 오는 메서드를 적용하는 것 입니다. 물론 이 작업이 처음에는 쉬울줄 알았습니다만..........

 

먼저 해야 할일은 위 스크린샷처럼 QRunnable에서 로그인을 하는 명령을 제거해 주는 것입니다. 이렇게 하는 것으로 일단 공통적인 로그인 이후에 어떻게 작업이 진행이 되는지에 대해서 한번 알아볼까 합니다.

 

그리고 당연하다면 당연하게 로그인이 되지 않으면 키움증권 서버에서 아무런 정보도 가지고 올 수 없기 때문에, 로그인을 위 스크린샷과 같이 MainWindow에서 하도록 만들어 줍니다.

 

일단 이 방법이 성공하기는 성공했습니다. 이렇게 해서 로그인을 하는 클래스와 실제로 정보를 가지고 오는 클래스가 달라도 제대로 작업이 되도록 만들었습니다.

 

 

그리고 명색이 멀티 스레딩을 해야 하기 때문에, 위 스크린샷처럼 한번 멀티 스레드를 만들어 보도록 for문을 사용해 보도록 합니다.

 

이렇게 하고서 위 스크린샷과 같이 5개의 프로세스로 정확하게 나오는 것을 확인할 수 있었습니다. 이렇게 하는 것으로 봐서, 그렇게 큰 문제는 없어 보입니다.

 

그리고 나서 안정성을 위해서 라고 생각을 해서 1초간 쉬도록 했는데, 이 명령도 주석처리를 해서 불능화 시키고 다시한번 더 실행을 시켜 보도록 합니다.

 

이렇게 하고나서도 큰 문제없이 제대로 돌아가는 것을 확인할 수 있었습니다. 이제 이것으로 봐서는 제대로 문제없이 멀티 스레딩이 가능하다는 생각이 듭니다.

 

그리고나서 다음으로 계좌정보를 가지고 오기위한 - opw000018이라는 TR을 처리하기 위해서 만들어 놓은 메서드를 붙여넣기 해 보도록 합니다.

 

그리고 나서 runningMan에서 이 메서드를 실행시키도록 만들어 주도록 합니다. 이렇게 해서 큰 문제없이 이 메서드가 제대로 작동할 것이라고 생각을 했습니다만.....

 

어찌된 것인지 모르겠습니다만, 일단 위 스크린샷에서 무한이라고 표시한 것 처럼 강제로 정지를 시키지 않으면 계속해서 TR을 요청해서 처리하는 무한루프에 빠지는 것을 확인할 수 있었습니다. 이래서야 제가 의도한 것이 아니기 때문에, 이 문제는 어떻게 해서든 해결을 해야만 합니다.

반응형

'무모한 도전-주식 인공지능 만들기' 카테고리의 다른 글

QThread의 적용 part6  (4) 2019.07.28
QThread의 적용 part5  (0) 2019.07.28
QThread의 적용 part3  (0) 2019.07.28
QThread의 적용 part2  (0) 2019.07.28
QThread의 적용 part1  (4) 2019.07.27