ThreadStart 与ParameterizedThreadStart的区别
1) ParameterizedThreadStart与ThreadStart
1 static void Main(string[] args)
{ #region ParameterizedThreadStart第一种写法
Thread thread = new Thread(new ParameterizedThreadStart(
(s) => { Console.WriteLine(s.ToString());
} ));
thread.Start("45 1");
#endregion
#region ParameterizedThreadStart第二种写法
//把方法抽出WriteOut
ParameterizedThreadStart parThread = new ParameterizedThreadStart(WriteOut);//WriteOut是方法
Thread thread2 = new Thread(parThread);
thread2.Start("3433343 2"); #endregion #region ThreadStart第一种写法 Thread thread3 = new Thread(new ThreadStart(
() =>
{ Console.WriteLine("ThreadStart里是没有参数的方法 3");
} ));
thread3.Start();//no parameter
#endregion #region ThreadStart第2种写法 Thread thread4 = new Thread(
() =>
{ Console.WriteLine("ThreadStart里是没有参数的方法222 4");
} );
thread4.Start();//no parameter
#endregion
Console.ReadKey(); } private static void WriteOut(object obj)
{
Console.WriteLine(obj.ToString());
}
输出结果顺序是不定的。
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />
等等
2)ParameterizedThreadStart多个参数的传递
可以把多个值封装到一个类里进行传递
class Program
{
static void Main(string[] args)
{ ParameterizedThreadStart paraThread = new ParameterizedThreadStart(AddTwoNumber);
Thread thread = new Thread(paraThread);
Number numbers = new Number();
numbers.SetPare(, ); thread.Start(numbers);
Console.ReadKey(); } private static void AddTwoNumber(object obj)
{//这里传过来一个类
if (obj is Number)
{
Number num = (Number)obj;
Console.WriteLine(num.First + " +" + num.Second+"=" +(num.First+num.Second));
}
} } class Number
{
private int first;
private int second;
public int First
{ get
{ return first;} set
{ first = value;} }
public int Second
{
get { return second; }
set { second = value; }
} public void SetPare(int n, int m)
{
first = n;
second = m;
} }
ThreadStart 与ParameterizedThreadStart的区别的更多相关文章
- C# 最基本的涉及模式(单例模式) C#种死锁:事务(进程 ID 112)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务,解决方案: C#关闭应用程序时如何关闭子线程 C#中 ThreadStart和ParameterizedThreadStart区别
C# 最基本的涉及模式(单例模式) //密封,保证不能继承 public sealed class Xiaohouye { //私有的构造函数,保证外部不能实例化 private ...
- ThreadStart和ParameterizedThreadStart区别
ThreadStart: ThreadStart这个委托定义为void ThreadStart(),也就是说,所执行的方法不能有参数. ThreadStart threadStart=new Thre ...
- C# ThreadStart和ParameterizedThreadStart区别
ThreadStart: ThreadStart这个委托定义为void ThreadStart(),也就是说,所执行的方法不能有参数.ThreadStart threadStart=new Threa ...
- C#中 ThreadStart和ParameterizedThreadStart区别
最主要区别: 1.Thread 是启动一个线程,但是没有参数. 2.ParameterThreadStart 线程可以接受一个输入参数 ThreadStart: ThreadStart这个委托定义为 ...
- 多线程之 ThreadStart 和 ParameterizedThreadStart 委托
先看微软如何给出的方法使用,如下查看,我们发现,如下两个委托,分别对应带参数创建线程 和 不带参数创建线程. 下列 委托 方法不带参数 ThreadStart namespace System.Thr ...
- 在C#中ParameterizedThreadStart和ThreadStart区别
不需要传递参数,也不需要返回参数 我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下: ThreadStart threadStart=new ThreadStart(Calculat ...
- C#的ThreadStart 和 Thread
多线程,new Thread(t1);和new Thread(new ThreadStart(t1));有什么区别 没有区别. 前者,是c#的语法.也就是说是编译器帮你改写为第二种形式. 因此你要搞清 ...
- C#编程总结(二)多线程基础
C#编程总结(二)多线程基础 无论您是为具有单个处理器的计算机还是为具有多个处理器的计算机进行开发,您都希望应用程序为用户提供最好的响应性能,即使应用程序当前正在完成其他工作.要使应用程序能够快速响应 ...
- C#多线程操作界面控件的解决方案(转)
C#中利用委托实现多线程跨线程操作 - 张小鱼 2010-10-22 08:38 在使用VS2005的时候,如果你从非创建这个控件的线程中访问这个控件或者操作这个控件的话就会抛出这个异常.这是微软为了 ...
随机推荐
- BZOJ1923: [Sdoi2010]外星千足虫
传送门 高斯消元求解Xor方程. 这个方程很容易换成xor的方程.然后用高斯消元搞就行了. 用bitset实现这个非常方便. //BZOJ 1923 //by Cydiater //2016.11.3 ...
- JQ-动画合集(ing...)
一:给向上按钮加动画,让页面卷回上面而不是生硬跳转.js $('#topBtn').click(function(){ $('html,body').animate({scrollTop: '0px' ...
- 解决Windows版Git出现templates not found的问题
环境: Win10 x64 Git windows客户端(下载自 https://git-scm.com/) SourceTree 1.9.6.1(使用系统安装的Git,而非SourceTree内嵌的 ...
- easyUI 如何不跳转页面,只是加载替换center部分内容
以前做的一个故障报修系统,前端框架使用easyUI框架,layout布局,center使用datagrid .点击左边树形菜单时时页面跳转,想要知道如何点击菜单时不进行页面跳转,而是只对center模 ...
- vim(vi)常用操作及记忆方法
vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...
- Linux下按程序查实时流量 network traffic
实然看到下载速度多达几M/s,但实际上并没有什么占用带宽的进程. 相查看每个程序占用的网络流量, 但系统自带的 System Monitor 只能查看全局的流量, 不能具体看某个程序的...... k ...
- IIS同时实现网站部分使用https协议访问另一部分http访问
一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同 ...
- Unity游戏开发中的内存管理_资料
内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...
- 怎么把本地项目和远程git仓库相连通
1. 打开在你的项目文件夹,输入下面的命令 git init 输完上面的命令,文件夹中会出现一个.git文件夹,如下图所示,其他的的文件也会出现蓝色小问号的标志 2. 添加所有文件 git add . ...
- TinyFox/Jexus如何正确使用配置文件
一.阅读须知 1.TinyFox是什么 Tinyfox3.x 将支持多站点多域名 2.Jexus是什么 二.使用问题解答 * 问题1.发布Owin项目到Win/Centos系统下的TinyFox上时, ...