C#多线程实现方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#多线程实现方法相关的知识,希望对你有一定的参考价值。

 C#中实现线程应用开发的类都包含在了System.Threading命名空间中,比较常用的是Thread,ThreadPool类

Thread类构造函数作用是创建线程,有两个重载版本,一个带参数,一个不带参数:

public Thread(ThreadStart start);

public Thread(ParameterizedThreadStart start);

 

ThreadStart或者ParameterizedThreadStart类型的声明如下:

public delegate void ThreadStart();

public delegate void ParameterizedThreadStart(Object obj);

 

 

创建线程的步骤如下:

//创建不带参数的线程(线程所关联的函数没有参数)

ThreadStart myThreadStart=new ThreadStart(myFunction);//把线程要启动的函数传(委托?)进ThreadStart变量去
Thread myThread=new Thread(myThread);//创建线程

myThread.Start();//启动线程

//创建带参数的线程

ParameterrizedThreadStart myThreadStart=new ParameterrizedThreadStart(myFunction);//把线程要启动的函数传(委托?)进ThreadStart变量去

Thread myThread=new Thread(myThread);//创建线程

myThread.Start(obj);//启动线程

 

注意事项:

线程关联的方法必须是void返回类型的

创建关联带一个参数方法的线程,传参类型必须是object类型,而且只能有一个参数

关联的方法要么是静态的,要么是已实例化的

以上是关于C#多线程实现方法的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform 多线程异步委托进度条

C#多线程实现方法

C#使用读写锁三行代码简单解决多线程并发写入文件时线程同步的问题

C#多线程实现方法——线程池(Thread Pool)

多线程 Thread 线程同步 synchronized

在C#中如何使用多线程,每隔几秒去执行一个方法?