0
我有一個PERL應用程序啓動線程串行通信... 我使用lib使用Device :: SerialPort;讀取串行端口:如何中斷讀取阻止操作
while($bRun)
{
print "Waiting for serial port data...";
my ($count,$msg)=$SerialPort->read(255); # will read _up to_ 255 chars
if ($count > 0)
{
#Process
}
#sleep(1);
}
但是,即使在讀取操作期間也必須停止該線程。
我已經有一個方法把bRun設置爲false,但是如果在讀操作中如何解鎖線程呢?
非常感謝
亞歷
似乎信號是進程的上下文,而不是線程的上下文...我想停止線程,因爲這將是代碼後,必須在閱讀中斷後執行... – Alexandre
@亞歷山大:我沒有看過事情在Perl中,但底層的Unix系統調用接口當然允許發送信號到線程。請參閱http://linux.die.net/man/3/pthread_kill –