请问一下,中断会阻止另一个线程WHILE里的程序吗

那该多好啊!!! 2019-12-13 08:30:05
如果线程1里有一个while,一开始就启动了

线程2里有一段程序,监控这一段程序,加了一个断点。
如果此时线程1进入了while,那运行到断点时,
线程1里的while程序是否会停下来,还是继续跑,如果停下来停在当时的地方吗?
...全文
188 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
datafansbj 2019-12-16
  • 打赏
  • 举报
回复
调试时所有线程会暂停,然后执行断点处的代码,不过下一条应该执行哪个线程的语句就不好判断了。
exception92 2019-12-13
  • 打赏
  • 举报
回复
debug模式下断点才起作用。while退出的情况要么break,要么条件不成立。看你线程2中怎么去控制while退出。
xiaoid 2019-12-13
  • 打赏
  • 举报
回复
断点是针对程序的,并不是针对线程,一到了断点的地方,整个程序就会暂停(所有线程)。
Bridge_go 2019-12-13
  • 打赏
  • 举报
回复
打断点就为了调试,你线程不能停下来那调个毛啊
OrdinaryCoder 2019-12-13
  • 打赏
  • 举报
回复
1#正解,话说 这种东西 最好你自己拿控制台写俩线程 比如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Thread th = new Thread(Test1);
            th.Start();
            Thread th1 = new Thread(Test2);
            th1.Start();
            Console.ReadKey();
        }
        static void Test1()
        {
            int count = 0;
            while (true)
            {
                count++;
                //Console.WriteLine("线程1:{0}", count);
                Thread.Sleep(100);
            }
        }

        static void Test2()
        {
            int count = 0;
            while (true)
            {
                count++;
                Console.WriteLine("线程2:{0}",count);
                Thread.Sleep(100);
            }
        }
    }
}

在Test1的while循环下一个断点 然后看下控制台输出 线程2 计数 之后把断点下了点继续,你会发现计数没有跳跃比如原来100 一下跳到130 而是接着从101开始 像这种问题 自己用代码调一下 一下就记住了 比别人说管用多了
qq465999214 2019-12-13
  • 打赏
  • 举报
回复
不会,尽量让线程自己关闭

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧