我有一個QThread,它從套接字中讀取並在有任何可用數據時發送一個信號(QT信號)。 阻止讀取(2)會很容易,但是我需要能夠從外部停止線程而無需等待太久。如何中斷在QThread中運行的選擇/ pselect
如果我使用pthread,我會使用pselect和pthread_kill(thread_id, some_signal)
,但QThread不是 似乎有任何類似的方法。並且將pthread的依賴添加到此項目似乎並不優雅。
我也不想使用其他醜陋的方法,例如不斷嘗試從一些相對較小的超時讀取套接字。
編輯:套接字不是TCP,而是藍牙L2CAP。
這看起來像我需要的,但我的套接字不是TCP(它們是L2CAP藍牙套接字)。有什麼類似的嗎?我找不到任何東西,但那並不代表沒有:-) – cube 2010-09-07 14:51:53
我沒有使用它,但是藍牙模塊的這個類看起來是正確的:http://doc.qt.nokia.com/ qtextended4.4/qbluetoothl2capsocket.html – Scott 2010-09-07 14:59:48