parameterizedthreadstartC#关于线程的问题

parameterizedthreadstart  时间:2021-07-20  阅读:()

new ThreadStart中的方法如果有参数,该怎么写

楼主,你要是想带参数可以用这个 ParameterizedThreadStart pts = new ParameterizedThreadStart(ReceiveDate); Thread threadReceive = new Thread(pts); User user = new User(newClient); threadReceive.Start(user); 看第一行,我这段代码的ReceiveDate方法就是有一个参数的,使用ParameterizedThreadStart这个创建线程可以带一个参数

C#或C++使用信号量机制,编写一个含有两个进程,互斥更改变量n的小程序

卧槽这怎么做啊,C#里面对于共享内存的支持本来就有点蹩脚 两个进程更改同一个变量是想要闹怎样…… 先弄个线程的,实在不行要进程了之后用C++给你写个 using?System; using?System.Threading; class?Program { ????static?int?t; ????static?void?Main(string[]?args) ????{ ????????Semaphore?semaphore?=?new?Semaphore(1,?1); ????????ParameterizedThreadStart?ts?=?new?ParameterizedThreadStart(x?=> ????????{ ????????????Semaphore?s?=?(Semaphore)x; ????????????for?(int?i?=?0;?i?C# 多线程,ThreadStart()里面的方法带了参数就提示错误?线程操作主要用到Thread类,他是定义在System.Threading.dll下。

使用时需要添加这一个引用。

该类提供给我们四个重载的构造函数(以下引自msdn)。

Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。

Thread (ThreadStart) 初始化 Thread 类的新实例。

由 .NET Compact Framework 支持。

Thread (ParameterizedThreadStart, Int32) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托,并指定线程的最大堆栈大小。

Thread (ThreadStart, Int32) 初始化 Thread 类的新实例,指定线程的最大堆栈大小。

由 .NET Compact Framework 支持。

我们如果定义不带参数的线程,可以用ThreadStart,带一个参数的用ParameterizedThreadStart。

带多个参数的用另外的方法,下面逐一讲述。

一、不带参数的 using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace AAAAAA { class AAA { public static void Main() { Thread t = new Thread(new ThreadStart(A)); t.Start(); Console.Read(); } private static void A() { Console.WriteLine("Method A!"); } } } 结果显示Method A! 二、带一个参数的 由于ParameterizedThreadStart要求参数类型必须为object,所以定义的方法B形参类型必须为object。

using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace AAAAAA { class AAA { public static void Main() { Thread t = new Thread(new ParameterizedThreadStart(B)); t.Start("B"); Console.Read(); } private static void B(object obj) { Console.WriteLine("Method {0}!",obj.ToString ()); } } } 结果显示Method B! 三、带多个参数的 由于Thread默认只提供了这两种构造函数,如果需要传递多个参数,我们可以自己将参数作为类的属性。

定义类的对象时候实例化这个属性,然后进行操作。

using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace AAAAAA { class AAA { public static void Main() { My m = new My(); m.x = 2; m.y = 3; Thread t = new Thread(new ThreadStart(m.C)); t.Start(); Console.Read(); } } class My { public int x, y; public void C() { Console.WriteLine("x={0},y={1}", this.x, this.y); } } } 结果显示x=2,y=3 四、利用结构体给参数传值。

定义公用的public struct,里面可以定义自己需要的参数,然后在需要添加线程的时候,可以定义结构体的实例。

//结构体 struct RowCol { public int row; public int col; }; //定义方法 public void Output(Object rc) { RowCol rowCol = (RowCol)rc; for (int i = 0; i < rowCol.row; i++) { for (int j = 0; j < rowCol.col; j++) Console.Write("{0} ", _char); Console.Write(" "); } }

vb.net怎么无线循环编

一般多开线程写无限循环行为。

//定义线程 Dim?th?As?New?Threading.Thread(New?Threading.ParameterizedThreadStart(AddressOf?test)) th.Start("aaa")//开始线程,可以传参//线程执行函数 Public?Sub?test(ob?As?Object) ???While?True ?????Console.WriteLine("线程正在运行中"?&?ob) ?????Threading.Thread.Sleep(1000) ???End?While End?Sub

C#关于线程的问题

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading;//导入使用线程管理的命名空间

namespace MyThread { class Program { private static int newTask(int ms)//定义方法(这是普通的定义,没什么特别,注意参数与委托参数一致就行) { Console.WriteLine("任务开始"); Thread.Sleep(ms);//当前线程睡眠 Random random = new Random(); int n = random.Next(10000); Console.WriteLine("任务完成"); return n;//当程睡眠ms毫秒后结束返回 }

private delegate int NewTaskDelegate(int ms);//定义委托,用于执行线程方法

static void Main(string[] args) { NewTaskDelegate task = newTask;//新建委托对象 IAsyncResult asyncResult = task.BeginInvoke(2000, null, null);//BeginInvoke方法.NET FrameWorks开辟并在多线程管理机制里执行多线程

// EndInvoke方法将被阻塞2秒 int result = task.EndInvoke(asyncResult);//在执行方法后获得线程返回的结果 Console.WriteLine(result); Console.Read();

} } } //以上主要理解BeginInvoke与EndInvoke及线程结果asyncResult

//与之比较的还有Invoke无返回值

//更深一点的还有线程方法回调

//看楼主理解吧.....不赘述了...

95IDC香港特价物理机服务器月付299元起,5个ip/BGP+CN2线路;美国CERA服务器仅499元/月起

95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...

云俄罗斯VPSJusthost俄罗斯VPS云服务器justg:JustHost、RuVDS、JustG等俄罗斯vps主机

俄罗斯vps云服务器商家推荐!俄罗斯VPS,也叫毛子主机(毛子vps),因为俄罗斯离中国大陆比较近,所以俄罗斯VPS的延迟会比较低,国内用户也不少,例如新西伯利亚机房和莫斯科机房都是比较热门的俄罗斯机房。这里为大家整理推荐一些好用的俄罗斯VPS云服务器,这里主要推荐这三家:justhost、ruvds、justg等俄罗斯vps主机,方便大家对比购买适合自己的俄罗斯VPS。一、俄罗斯VPS介绍俄罗斯...

DogYun春节优惠:动态云7折,经典云8折,独立服务器月省100元,充100送10元

传统农历新年将至,国人主机商DogYun(狗云)发来了虎年春节优惠活动,1月31日-2月6日活动期间使用优惠码新开动态云7折,经典云8折,新开独立服务器可立减100元/月;使用优惠码新开香港独立服务器优惠100元,并次月免费;活动期间单笔充值每满100元赠送10元,还可以参与幸运大转盘每日抽取5折码,流量,余额等奖品;商家限量推出一款年付特价套餐,共100台,每个用户限1台,香港VPS年付199元...

parameterizedthreadstart为你推荐
goalgoalgoal7个多啦A梦的是什么动画片了?物联卡官网物联卡,是什么卡啊???智能公共广播系统公共广播系统的品牌都有哪些??金山铁路最新时刻表请问现在轨道交通22号线金山铁路是个什么情况?据说9月28日就开通了啊~~~慕课网址如何加入慕课学习课程?川普竞选网站遭攻击川普.怎么大家说起他都说是个笑话开源视频会议将网络视频会议替代原来的面对面会议具有哪些方面的好处呢?移动上网设置手机上网参数设置方法win7旗舰版64激活码WIN7旗舰版64位,激活工具或者激活密匙,哪位大神能给一个啊,急~~~!fedora12如何安装Linux(Fedora 12)?
云南虚拟主机 深圳域名注册 kdata 163网 wdcp 60g硬盘 好看的桌面背景大图 国外在线代理 200g硬盘 赞助 cdn加速原理 空间合租 阿里云官方网站 买空间网 开心online privatetracker windowsserver2008 ncp是什么 godaddy中文 什么是dns 更多