• c#的多线程


    多线程的使用方法:

    Thread t = new Thread(new ThreadStart (StartMethod));
    t.Start();
     
      private void StartMethod()
      {
          Thread.Sleep(5000);
                MessageBox.Show("c");
      }
    

      

    多线程的功能和异步调用一样,都是为了不等调用的函数运行完,就继续剩下的语句。

    ParameterizedThreadStart是面向带参数的方法,参数的类型是object。StartMethod()是不带参数的方法。StartMethod(object i)就是带参数的方法,这个谁都知道哈~

    t.IsBackground = true;
    

      

    这句代码的意思就是等主程序跑完,如果支线程的代码还没跑完,那就不好意思啦,直接掐屎。。

    这个时候肿么办呢,人家还不想这么早跟这个世界说寨见呢。。。

    只要在主程序的最后加上 t.Join();就可以啦~。

    为什么要使用this.invoke呢,感觉它跟直接调用函数没什么差别,但是如果要在支线程的函数中给控件赋值,代码就会报错,这个时候this.invoke,this.begininvoke都就可以拿来用了,这样就不会报错了。

    public void DoWork()
    {
    MyInvoke mi = new MyInvoke(Updatetxt);
    this.BeginInvoke(mi, new Object[] {"我是文本框"});
    }
    public void Updatetxt(string param)
    {
    textBox1.Text = param;
    }
    

      

     
  • 相关阅读:
    luogu P5494 【模板】线段树分裂
    珂朵莉树(ODT)
    luogu P5787 二分图 /【模板】线段树分治
    线段树
    luogu P1450 [HAOI2008]硬币购物
    树形DP
    luogu P3047 [USACO12FEB]Nearby Cows G
    1069: 向Z同学学习
    1067: 有问题的里程表
    1066: 字符分类统计
  • 原文地址:https://www.cnblogs.com/paidaxing/p/3804439.html
Copyright © 2020-2023  润新知