c# Winform 多线程操作
2021-06-27 20:03
                         标签:ack   reads   str   set   检查   enter   cli   back   art    主要是对一个过程需要的时间很长执行时会出现界面假死的情况 方法1: Application.DoEvents(),这种方法当你拖动窗体时,界面不会假死。但在你拖动时代码不再执行,也就是阻塞了,当你不再控制窗体时会继续执行,其实这还是一个单线程   方法2:多线程        2.1:取消控件跨线程检测                2.1.1取消窗体内控件的跨线程检查(单个控件取消也可以)                    2.1.2新建线程实现跨线程访问          2.2:主线程中操作     2.2.1 不用取消跨线程访问  注:多个线程同时访问一个方法时 需要锁定   c# Winform 多线程操作 标签:ack   reads   str   set   检查   enter   cli   back   art    原文地址:https://www.cnblogs.com/SoftWareIe/p/9650947.html  for (int i = 0; i 10000; i++)
            {
                for (int j = 0; j 100000; j++)
                {
                    textBox1.Text = i.ToString() + " " + j.ToString();
                    Application.DoEvents();
                }
            }
        public Form1()
        {
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;//干掉检测 不再检测跨线程
        }
        /// 
        /// 
        public static readonly object obj = new object();
        public void Pro()
        {
            //lock(obj){}=Monitor.Enter(obj)  Monitor.Exit(obj)
            lock (obj)
            {
                for (int i = 0; i 10000; i++)
                {
                    for (int j = 0; j 100000; j++)
                    {
                        if (textBox1.InvokeRequired)//不同线程访问了
                            textBox1.Invoke(new Action