为什么c#开启了线程还要委托?

 我来答
ClaudeHye
2018-02-04 · TA获得超过249个赞
知道答主
回答量:71
采纳率:0%
帮助的人:23.8万
展开全部
看来一下其他人的回答,都有问题或者错误。
你没有理解delegate(委托)的概念,.Net的委托本质上就是指向函数的指针,只不过这种指针是经过封装后类型安全的。委托和线程是两个不同的概念,线程是动态的,委托就是一个或一组内存地址,是静态的。线程执行时如果遇到了指向函数的指针就执行这个函数。
.Net为了方便编程,给委托赋予了两种方式以供调用线程来执行,即同步和异步方式,它们分别通过Invoke和BeginInvoke来开启。Invoke就是同步执行,由调用线程来执行,而BeginInvoke则开启了一个后台线程来执行delegate所指向的函数,这个后台线程和调用线程之间属于异步执行方式。实际上有了delegate这个概念,你在编程时就可以不用直接使用Thread类来开辟新的线程了,因为微软替你实现了。
建议你好好看看MSDN,这些概念不是一两天就能消化的,有问题再问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d848446
推荐于2019-09-20 · TA获得超过1313个赞
知道小有建树答主
回答量:4
采纳率:100%
帮助的人:3378
展开全部
  • 01

    //声明变量并初始化
    int i = 3;                //整型
    print("i");

  • 02

    const float PI = 3.14f;   //浮点型
    print("PI");

  • 03

    char c='a';                //字符及字符串
    print('a');
    string str = "a123";
    print("str");
    str = 1 + "";
    print("str");

  • 04

    bool ifSec = true;         //布尔值
    print("ifSec");
    bool ifSec = false;
    print("ifSec");

  • End

  • 免责声明:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式