首页 > 编程语言 > 详细

C# 委托及线程

时间:2021-04-17 17:33:12      阅读:12      评论:0      收藏:0      [点我收藏+]

一、简述

  简单记录一下C#涉及的委托及线程知识点,以便随时可查询。

二、内容

  C#的线程有以下6种方法实现:

  1、Thread 线程类;

  2、Delegates 委托;

  3、Backgroud Worker;

  4、ThreadPool 线程池;

  5、Task 任务类;

  6、Parallel 并行类。

  以上的方法使用时建议使用Lambda 表达式,因其delegate参数类型多变,不好掌控。

  C#的委托调用有以下2种方法:

  1、BeinInvoke => 异步调用,EndInvoke => 获得异步调用的返回值(方法没执行完毕之前会一直阻塞);

  在C#中,任何涉及BeginXXX与EndXXX名字的方法都是异步。

  2、Invoke => 同步调用;

  在Control中用以上2种方法都会造成界面假死,因为这是UI线程。

  Winform界面委托用法实例:

public void TestFunction(int ms)
{
  lblContent.Text += "开始;";
  Thread.Sleep(ms);
  lblContent.Text += "结束";

}
public void Main()
{
  //Invoke(TestFunction,3000);
  BeinInvoke(TestFunction,3000);
  lblContent.Text += "abc;";
}

  执行结果:

  Inoke:开始;结束;abc;

  BeinInvoke:abc;开始;结束;

 

C# 委托及线程

原文:https://www.cnblogs.com/kongbailingluangan/p/14670434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!