当前位置: 首页 > 编程语言 > C#

杀死线程时如何杀死回放循环?分享

时间:2023-04-10 16:52:12 C#

线程被杀死时如何杀死播放循环?满足线程:publicvoidTimerFunc(){...while(true){...sound.PlayLooping();//显示MessageBox并等待用户输入MessageBox.Show(message,caption,buttons);//结束声音循环sound.Stop();...}}线程由主界面中的一个按钮启动,可以被界面中的一个按钮杀死。如果线程在等待用户输入时被杀死,我该如何让soundloop停止?你不杀死线程。如果线程被杀死,它什么也做不了。礼貌地向线程发送一条消息,要求它停止播放。privatevolatileboolcanContinue=true;publicvoidTimerFunc(){...while(true&&canContinue){...sound.PlayLooping();//显示MessageBox并等待用户输入MessageBox.Show(message,caption,buttons);//结束声音循环sound.Stop();...}}publicvoidStopPolitely(){canContinue=false;然后,主界面上的按钮将调用thread.StopPolitely()并以干净的方式终止线程。如果你想让它早点终止,你可以考虑其他更积极的解决方案,比如更频繁地检查canContinue,或者使用Thread.Interrupt()来唤醒线程,即使它正忙于阻塞调用(但你必须管理interrupts)因为它只是一个bool并且它是单作者/单读者,你可以避免声明它volatile即使你应该。以上就是C#学习教程:线程被kill时如何kill回放循环?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: