[转贴]ParameterizedThreadStart,ThreadStart的使用,线程Thread传参数

 出自http://hi.baidu.com/ydalbj/blog/item/330b8d13f6959dd5f6039ec4.html

 

Thread

 

threadWithParam = new Thread(new ParameterizedThreadStart(new ThreadTest().ShowMsg));//threadWithParam.Start("this is a param.");

threadWithParam.Start(

 

thread.Start();

"44444");Thread thread=new Thread(new ThreadStart(new Class11().ShowMsg));

 

表示在 Thread 上执行的方法的委托方法,ThreadStart不能带参数,ParameterizedThreadStart是2.0中新增的,可以带参数(object类型的)

using System.Threading;

public void ShowMsg()
{
    MessageBox.Show("Message Info.");
}

Thread thread = new Thread(new ThreadStart(ShowMsg));
thread.Start();

//带参数

public void ShowMsg(object msg)
{
    MessageBox.Show(msg.ToString());
}

Thread threadWithParam = new Thread(new ParameterizedThreadStart(new ThreadTest().ShowMsg));
threadWithParam.Start("this is a param.");

时间: 2024-09-10 09:29:51

[转贴]ParameterizedThreadStart,ThreadStart的使用,线程Thread传参数的相关文章

.NET简谈组件程序设计之(初识.NET线程Thread)

由于多线程的内容比较多我会用几篇文章来讲解. 多线程在我们日常开发过程中用的很多,上一篇".NET简谈组件程序设计之(异步委托) "详细的讲解了基于委托的多线程使用,委托是基于后台线程池的原理,这篇文章将主要介绍直接使用Thread对象来实现多线程. 当然使用Thread没有使用Delegate那么容易,毕竟多线程跟异步调用是两个相差很大的技术方向,我也是略懂点皮毛,在此献丑给大家,如有讲的不对的地方还请指出.[王清培版权所有,转载请给出署名] 我们先来理解几个概念,以方便我们学习.

java 线程thread基础知识点总结

1.线程Thread是指程序的运行流程.多线程的机制可以同时运行多个程序块,使程序运行的效率更高,也解决了传统程序设计语言所无法解决的问题. 2.如果在类里面要激活线程,必须先做好下面两项准备: 1.此类必须是扩展自Thread类,使自己成为它的子类. 2.线程的处理程序必须编在run()方法内. 3.run()方法是定义在Thread类里面的一个方法,因此把线程的程序代码编写在run()方法里,所做的就是对Thread.run()方法的复写. 4.Runnable接口里声明了抽象的run()方

C#线程调用带参数的方法

在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法. 第一种:使用ParameterizedThreadStart. 调用 System.Threading.Thread.Start(System.Object) 重载方法时将包含数据的对象传递给线程. 使用 ParameterizedThreadStart 委托不是传递数据的类型安全的方法,因为 System.Threading.Thread.Start(System.Object) 方法重载接受任何对象. 这

C#往线程里传递参数的方法小结_C#教程

传参方式有两种: 1.创建带参构造方法类 传参 2.利用Thread.start(8)直接传参,该方法会接收一个对象,并将该对象传递给线程,因此在线程中启动的方法 必须接收object类型的单个参数. Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托. Thread (ThreadStart) 初始化 Thread 类的新实例. 由 .NET Compact Framework 支持. Thread (

多线程-C#创建线程调用方法参数出错

问题描述 C#创建线程调用方法参数出错 我想创建几个线程来熟悉多线程的一些知识于是写了一个小程序 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;namespace 多线程试验{ class Program { static void Main(string[] args) {

参数传递-c#用线程打开一个新窗口并传参数显示

问题描述 c#用线程打开一个新窗口并传参数显示 我想在form1用线程打开新的通知窗口form2,并传参数过去显示在这个窗口上,每个通知窗口显示一分钟,然后自动关闭.可能同时新建并显示三到四个这样的窗口,并不影响form1的正常运行.现在用百度到的方法,要么无法传参,要么显示秒退.求大神给个实例. 解决方案 不要在线程中创建窗口或者操作UI,应该用invoke传委托.传参数可以通过构造函数. 解决方案二: 建议你在程序中建立队列 Queue<string> infoQueue=new Queu

C#语法学习:线程(Thread)

/* * Created by SharpDevelop. * User: Administrator * Date: 2008/9/11 * Time: 下午 02:36 * */using System;using System.Threading;class SingleThread{ static void Main(string [] args) { SingleThread st =new SingleThread(); Thread th =new Thread(new Threa

android java-多线程Thread与Runable的区别

问题描述 多线程Thread与Runable的区别 多线程Thread与Runable的区别,优缺点.请大神们指教一下啊 解决方案 两者完全没有可比性.Runable为线程提供了一个可以执行的函数.Java语言没有函数指针,所以为了传一个函数给jvm,只能传一个接口,并且把实现的方法写在这个接口的实现类中. 解决方案二: Thread是类,runable是接口.1.使用接口可以多处使用,减少代码重复.2.使用runable看着高大上一点 解决方案三: 项目中用Runnable用的多.

Java中的线程Thread总结

首先来看一张图,下面这张图很清晰的说明了线程的状态与Thread中的各个方法之间的关系,很经典的! 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口. 要注意的是Thread类也实现了Runnable接口,因此,从Thread类继承的类的实例也可以作为target传入这个构造方法.可通过这种方法实现多个线程的资源共享. 线程的生命周期: 1.新建状态(New):用new语句创建的线程对象处于新建状态,此时它和其它的java对象一样,仅仅在堆中被分配了内存 2.就绪状态