我有2个帖子.我需要按一个键在它们之间切换.
Thread outputplayer = new Thread(PlayerOutput);
Thread outputplaylist = new Thread(PlaylistOutput);
outputplayer.Start(player);
outputplaylist.Start(player);
outputplaylist.Suspend();
while (true)
{
if (changePlaylist)
{
if (playlist)
{
changePlaylist = false;
outputplaylist.Resume();
outputplayer.Suspend();
}
else
{
changePlaylist = false;
outputplayer.Resume();
outputplaylist.Suspend();
}
}
HandleInput(player);
}
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它总是不切换.
当我按下一个键时,第一个线程应该停止/暂停,第二个线程应该开始执行.当我再次按下键时,第二个线程应该停止/暂停,第一个线程应该开始执行.等等.1 => 2 => 1 => 2 ......
我该怎么办?
Han*_*ant 11
千万不能忽视的暂停和恢复方法已过时警告.他们被废弃了这个确切原因.代码中它们将冻结的确切位置是完全不可预测的.如果这是在锁定声明中,那是个坏消息.您还创建了一个两个都将运行的时间段.
不要使用线程.
| 归档时间: |
|
| 查看次数: |
1560 次 |
| 最近记录: |