c#若何利用多线程,简单几步,让你轻松几步解决。

东西/原料
- IDE
方式/步调
- 1
1. 打开vs或者其他IDE, 建立节制台项目如下
- 2
2. 无参数的多线程。在Program.cs文件里面写入如下代码
class Program
{
static void Main(string[] args)
{
int num = 2;
for ( int i =0; i < num; i++)
{
noParmaThread();
}
}
private static void StartThread()
{
Console.WriteLine("---------起头了新线程---------");
Thread.Sleep(2000);//wait
Console.WriteLine("---------线程竣事---------");
}
//不需要传递参数
private static void noParmaThread()
{
ThreadStart threadStart = new ThreadStart(StartThread);
var thread = new Thread(threadStart);
thread.Start();//起头线程
}
}
- 3
3 步调2的运行成果,如下图
- 4
4. 含参数多线程。
static void Main(string[] args)
{
int num = 3;
for ( int i =0; i < num; i++)
{
oneParamThread("第" + i.ToString() +"个");
}
}
private static void oneParamThread( string param)
{
var thread = new Thread(new ParameterizedThreadStart(StartThread));
thread.SetApartmentState(ApartmentState.STA);
thread.IsBackground = true;
thread.Start(param);
thread.Join();
}
private static void StartThread(Object obj)
{
string s = obj as string;
Console.WriteLine("---------起头了 "+s +" 新线程---------");
Thread.Sleep(2000);//wait
Console.WriteLine("---------线程 "+s+" 竣事---------");
}
- 5
5. 步调4的运行成果如下图所示
- 6
6. 利用专门的线程类。代码如下
class Program
{
static void Main(string[] args)
{
int num = 3;
for ( int i =0; i < num; i++)
{
MyThreadClass mt = new MyThreadClass(i);
ThreadStart threadStart = new ThreadStart(mt.StartThread);
Thread thread = new Thread(threadStart);
thread.Start();
//期待线程竣事
}
}
}
public class MyThreadClass
{
public string output { set; get; }
public int parame { set; get; }
public MyThreadClass(int p)
{
this.parame = p;
}
public void StartThread()
{
Console.WriteLine("---------起头了 " + parame.ToString() + " 新线程---------");
Thread.Sleep(2000);//wait
output = "线程 "+ parame+" 竣事了";
Console.WriteLine("---------线程 " + parame.ToString() + " 竣事---------");
}
}
- 7
7. 步调6的成果如下图
- 8
若是您感觉有效,记得鄙人方点击投票、点赞、存眷、留言,小编会按期送上更多的惊喜哦,您的撑持才是小编继续尽力的动力,么么哒。
来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!
本文链接:https://www.ibaiwen.com/web/238657.html
- 上一篇: 怎么设置微信好友标签及备注
- 下一篇: OPPO A3手机怎么样
- 热门文章
-
WB蒙特利尔(WB Montreal)——欧美十大最差视频游戏开发商
迅猛龙(Velociraptor)——欧美史前十大死亡动物
什么是果酱猫(What Marmalade Cats)?
神奇蜘蛛侠2(The Amazing Spider-Man 2)——欧美最佳蜘蛛侠电影
希瑟(Heather)——欧美十大最佳柯南灰歌
二人梭哈
faceu激萌怎么把瘦脸开到最大
奥兹奥斯本(Ozzy Osbourne)——欧美十大高估歌手
什么是小脑前下动脉(Anterior Inferior Cerebellar Artery)?
我应该知道康涅狄格州的什么(What Should I Know About Connecticut)?
- 热评文章
- 最新评论
-
- 最近访客
-
- 站点信息
-
- 文章总数:200248
- 页面总数:9
- 分类总数:1
- 标签总数:0
- 评论总数:0
- 浏览总数:497