如何切换线程

0 .net c# multithreading

我有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

千万不能忽视的暂停和恢复方法已过时警告.他们被废弃了这个确切原因.代码中它们将冻结的确切位置是完全不可预测的.如果这是在锁定声明中,那是个坏消息.您还创建了一个两个都将运行的时间段.

不要使用线程.