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 –