C# 多线程

 Thread类的使用:

初始化:

Thread th1 = new Thread(function1);
Thread th2 = new Thread(new ThreadStart(function1));
Thread th3 = new Thread(new ParameterizedThreadStart(function2));

ThreadStart和ParameterizedThreadStart是两个委托,方法的抽象。

function1...是方法名,在新线程里要执行的方法名。

 public void function1()
{
}
public void function2(object o)
{
     var ii = (Parameter)o;
}

Parameter是实体类

public class Parameter
        {
            public string paraName { get; set; }
        }

那么,如何启动线程呢?

th1.Start();
th2.Start();
th3.Start(new Parameter { paraName="张三" });

请注意th3的传参方式:通过Start()方法,传递object对象。

Thread的Sleep()方法

作用:告诉操作系统或者其他XXOO的东西,在一段时间内,本线程是睡眠状态,不参与资源的竞争。

Thread的Join()方法

作用:阻塞调用线程,让子线程执行,直到执行完毕,控制权交还给主线程(调用线程)继续执行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Vamei实验室

快速学习Bash

Shell是Linux下经典的文本互动方式,而Bash是现在最常用的一种Shell。我在这里总结了Bash的要点知识。 Shell综述 Linux图形化桌面算不...

23060
来自专栏Modeng的专栏

Vue中如何使用方法、计算属性或观察者

熟悉 Vue 的都知道 方法methods、计算属性computed、观察者watcher 在 Vue 中有着非常重要的作用,有些时候我们实现一个功能的时候可以...

14420
来自专栏雪地二货笔记库

vue学习笔记11-自定义指令

除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令。 注册指令的关键字是directive, 同样也有局部和全局之分...

9210
来自专栏快乐八哥

Javascript对象的方法赋值

Javascript对象编程学习中,一直不能很好的掌握对象的属性(property)和方法(method)。今天在写代码过程中,又犯了一个低级错误。 <!DOC...

20890
来自专栏Vamei实验室

快速学习Bash

作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载。

13830
来自专栏HTML5学堂

拉手网面试题,不一样的难度

正文 1、JavaScriptalert(0.4*0.2);结果是多少?和你预期的一样吗?如果不一样该如何处理? 2、JavaScript以下哪条语句会产生运行...

36580
来自专栏禁心尽力

mybatis_常用标签

1、<where></where>标签的作用 可以动态的添加where关键字 可以自动去掉第一个拼接条件的and关键字 1      <wher...

24770
来自专栏技术小讲堂

Angular开发者手册重点翻译之指令(一)文本和属性绑定ngAttr属性绑定

创建自定义的指令 这个文章将解释什么需要在自己的angularjs应用中创建自己的指令,以及如何实现它。 什么是指令 在高的层面上讲,指令是DOM元素中的标记...

39260
来自专栏达摩兵的技术空间

js面试题系列003

1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。 2、属性和方法被加入到 this 引用的对象中。 3、新创建的对象由 thi...

37330
来自专栏重庆的技术分享区

项目常用的less语法详解

18150

扫码关注云+社区

领取腾讯云代金券