在C#中ParameterizedThreadStart和ThreadStart区别

在C#中ParameterizedThreadStart和ThreadStart区别
不需要传递参数,也不需要返回参数
  我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下:
ThreadStartthreadStart=newThreadStart(Calculate);Threadthread=newThread(threadStart);thread.Start();publicvoidCalculate(){ doubleDiameter=0.5; Console.Write(“T

大家好,又见面了,我是你们的朋友全栈君。

不需要传递参数,也不需要返回参数

  我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下:

上面我们用定义了一个ThreadStart类型的委托 , 这个委托制定了线程需要执行的方法: Calculate,在这个方法里计算了一个直径为0.5的圆的周长,并输出.这就构成了最简单的多线程的例子,在很多情况下这就够用了,然后 ThreadStart这个委托定义为void ThreadStart(),也就是说,所执行的方法不能有参数,这显然是个很大的不足,为了弥补这个缺陷,聪明的程序员想出了许多好的方法,我们将在需 要传递多个参数一节中进行介绍,这里我们先介绍.Net为了解决这个问题而设定的另外一个委托:就是ParameterizedThreadStart

,我会在下面详细讲述。

  需要传递单个参数

ParameterThreadStart的定义为void

ParameterizedThreadStart(object state)??使用这个这个委托定义的线程的启动函数可以接受一个输入参数,具体例子如下 :

  Calculate方法有一个为object类型的参数,虽然只有一个参数,而且还是object类型的,使用的时候尚需要类型转换,但是好在可以有参数了,并且通过把多个参数组合到一个类中,然后把这个类的实例作为参数传递,就可以实现多个参数传递.比如:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159629.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Netstat 网络命令详解

    Netstat 网络命令详解Netstat简介Netstat是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括tcp,udp以及unix套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。

  • 如何彻底卸载Anaconda?[通俗易懂]

    如何彻底卸载Anaconda?[通俗易懂]文章目录0.前言1.解决方案1.1方案11.2方案22.参考文档0.前言  本机Win10。  最好的参考文档是官方文档UninstallingAnaconda。除此以外,再辅助以其他文档,就能达到如标题所示的目的。整个删除过程不难。1.解决方案1.1方案1  官方推荐的方案是两种,一种是直接在Anaconda的安装路径下,双击或者说是直接到控制面板找到Anaconda直接卸载就行了。但是这种方案并不能删除配置文件。1.2方案2  但是,如果你搜索到了这篇文章,就代表你是想把配置文件都

  • 请写出用Graphics2D类的新方法画一个图形的步骤(表格如何画斜线)

    在机器人需要发表格图片需求,我搜索了一些第三方包,最终使用了java内置的Graphics2D来画表格生成jpg图片,再通过cq语句发送。表格图片,需要有标题,表格头,表格内容,将表格头和表格前三名设置背景色。使用Graphics2D画图,需要画横线,竖线,还有字体,其中选择位置进行渲染比较繁琐。所以我将画表格分为几部分来画1、先定图片大小图片的高…

  • 发挥人的主观能动性必须的前提是_发挥人主观能动性的基本途径是

    发挥人的主观能动性必须的前提是_发挥人主观能动性的基本途径是曾任百度研发工程师。2015年加入多点在线科技有限公司,任大数据团队负责人、高级架构师。负责研发了夜神App推荐系统、多点BI平台、AiAdmobi广告平台、RTB投放系统、CTR预估及用户画像等。与阿里云的各种大数据服务深度结合,熟悉Maxcompute、机器学习、推荐系统等服务。也熟悉基于EMR上开源工具的使用,包括Spark,Yarn,…

    2022年10月28日
  • Python虚拟环境(pipenv、venv、conda一网打尽)[通俗易懂]

    Python虚拟环境(pipenv、venv、conda一网打尽)[通俗易懂]随着大数据、人工智能的兴起,Python被带到了一个新的高度,但在使用Python过程中,很多人没搞清楚Python环境究竟是什么。当开发工程的时候,往往因为python环境的问题搞得一团糟。本文旨在说清楚什么是Python环境,什么是Python虚拟环境,并希望通过本文的学习掌握常用的Python环境管理工具的使用。

  • 大数据——数据流式处理「建议收藏」

    大数据——数据流式处理「建议收藏」一、概念大数据中包含两种处理方式:流处理和批处理。流处理:即流式处理。流式处理假设数据的潜在价值是数据的新鲜度,需要尽快处理得到结果。在这种方式下,数据以流的方式到达。在数据连续到达的过程中,由于流携带了大量数据,只有小部分的流数据被保存在有限的内存中。流处理方式用于在线应用,通常工作在秒或毫秒级别。 批处理:批处理方式中,数据首先被存储,然后再分析。MapReduce是非常重要的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号