원문 : https://www.toptal.com/qt/qt-multithreading-c-plus-plus




BY ANDREI SMIRNOV - QT DEVELOPER @ TOPTAL


멀티스레딩은 쉽지안다.


race conditions, synchronization, and deadlocks and livelocks.


경쟁상태, 동기화, 데드락과 실시간락 


이를 해결하기위해 , 포기하지않고 StackOverflow 를 찾아라.

그럼에도 , 여러 답변으로부터 올바른 것을 선택하는것은 어렵다. 각 방법마다 단점이 존재한다.


위키피이아의 멀티쓰레딩을 설명하였음


 QThreadPool 과  QThread 선택하기

* Qt 프레임 워크는 멀티쓰레딩을 위한 많은 도구를 제공한다. 올바른 도구를 선택하는 것은 처음에 어려울 수 있지만 실제로는 의사 결정방법이 두가지로 존재한다.

 Qt 에서 쓰레드를 관리하거나 직접 관리하려고 한다. 그러나 다른 중요한 기준이 있다.


  1.  이벤트 루프가 필요한 작업. 특히, 작업 실행중에 signal/slot 메커니즘을 사용하지 않는 작업

     -  QtConcurrent 와  QThreadPool + QRuunable 을 사용 함

  2.  signal/slots 을 사용하는 작업이므로 이벤트 루프가 필요한 경우 

     - Worker Objects moved to  + QThread


'Qt' 카테고리의 다른 글

[QtCreator]Ubuntu 한글 쓰기  (0) 2018.10.11
[b2qt] Error qtwebkit  (0) 2018.10.05
[rp3i] meta-boot2qt (5.12.0)  (0) 2018.10.04
[meta-boot2qt] rpi  (0) 2018.10.04
[Qt] 5.11 새 기능  (0) 2018.09.20

+ Recent posts