gpt4 book ai didi

multithreading - 使用线程和 Perl TK 隐藏段错误 Perl 5.8.8

转载 作者:行者123 更新时间:2023-12-02 03:57:27 24 4
gpt4 key购买 nike

我使用 Perl TK 和 Threads 编写了一个 GUI。在程序退出之前,一切都运行良好。这时我得到了一个段错误。我相信我正在尽我所能管理我的线程,并且段错误仅仅是由于 Perl 版本 5.8.8 中的线程造成的。我知道这个版本很旧,但因为工作原因无法更新。所以,我的问题是,我可以简单地以某种方式隐藏段错误吗?或者,是否有一种万无一失的方法来完全清理线程?由于问题的性质,我认为我的代码不相关,但这是我结束线程的方式:

my $thr = threads->create(\&worker);  ##this is created before any TK objects

sub worker {

while($run){
##do thready-stuff here
}

}

sub OnExit {
$run=0;
exit 0;
}

其中 $run 是共享变量,&OnExit 绑定(bind)到正在关闭的窗口。如果我删除 $run=0 ,我会收到一个关于退出程序并运行另一个线程的错误,所以我很确定它会结束。同样,我认为我的错误是由于版本限制造成的,所以我只是想隐藏它。谢谢!

最佳答案

参见 Suppress / Mute windows crash message box并添加 use Win32API::File(); Win32API::文件::SetErrorMode(2);

关于multithreading - 使用线程和 Perl TK 隐藏段错误 Perl 5.8.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11975144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com