1.最简单的多线程

using System;
using System.Threading; namespace ThreadTest1
{
public class SimpleThread
{
public void Run()
{
Thread t1 = new Thread(new ThreadStart(this.ThreadFunc));
Thread t2 = new Thread(new ThreadStart(this.ThreadFunc));
t1.Start();
Thread.Sleep(1000);
t2.Start();
} private void ThreadFunc()
{
for (int i = 0; i < 100; i++)
{
Console.WriteLine(i);
Thread.Sleep(100);
}
}
}
}

2.可以传参数的多线程

using System;
using System.Threading; namespace ThreadTest1
{
class ThreadWithPara
{
public void Run()
{
Thread t1 = new Thread(ThreadFunc);
Thread t2 = new Thread(new ParameterizedThreadStart(ThreadFunc));
t1.Start("t1");
Thread.Sleep(1000);
t2.Start("t2");
} private void ThreadFunc(object obj)
{
for (int i = 0; i < 100; i++)
{
Console.WriteLine(i + obj.ToString());
Thread.Sleep(100);
}
}
}
}

3.自定义类的多线程

using System;
using System.Threading; namespace ThreadTest1
{
class MyThreadClass
{
private string data; public MyThreadClass(string data)
{
this.data = data;
} public void ThreadMain()
{
Console.WriteLine("Running in a thread,data: {0}", data);
}
} class MainClass
{
public void Run()
{
MyThreadClass mtc = new MyThreadClass("thread1");
Thread thread = new Thread(mtc.ThreadMain);
thread.Start();
}
}
}

4. 匿名方法实现的多线程

using System;
using System.Threading; namespace ThreadTest1
{
public class AnonymousThread
{
public void Run()
{
Thread t1 = new Thread(() => ThreadFunc("thread-1"));
t1.Start();
} private void ThreadFunc(string obj)
{
for (int i = 0; i < 100; i++)
{
Console.WriteLine(i + obj.ToString());
Thread.Sleep(100);
}
}
}
}

5.参考

C# 给多线程传参的三种方式

C#多线程的几种实现方法的更多相关文章

  1. java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

    多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify 先看一下java线程运行时各个阶段的运行状态 j ...

  2. 【Java面试题】26 多线程有几种实现方法?同步有几种实现方法? 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

    问题一:多线程有几种实现方法?同步有几种实现方法? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口   同步的实现方面有两种,分别是synchronized,wait与not ...

  3. java多线程有几种实现方法,都是什么?

    转自:http://www.cnblogs.com/liujichang/p/3150387.html 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方法有两种, ...

  4. java多线程有几种实现方法?线程之间如何同步

    java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口: 同步的实现方法有五种:1.同步方法:2.同步代码块:3.使用特殊域变量(volatile)实现线程同步:4 ...

  5. Java多线程【三种实现方法】

    java多线程 并发与并行 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行 并行:一组程 ...

  6. iOS开发进阶-实现多线程的3种方法

    相关文章链接: 1.多线程简介 2.实现多线程的3种方法 ......待续 前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验.我们务必要把耗时的操作放到别的线程中去执行,千万不要 ...

  7. C#多线程的几种方法详解示例

    这里主要介绍了c#使用多线程的几种方式,通过示例学习c#的多线程使用方式,大家参考使用吧! 1 进程.线程.同步.异步的概念 2 回顾委托,开始异步 3 异步多线程的三大特点 异步多线程都觉得很厉害, ...

  8. 创建多线程的第一种方式——创建Thread子类和重写run方法

    创建多线程的第一种方式——创建Thread子类和重写run方法: 第二种方式——实现Runnable接口,实现类传参给父类Thread类构造方法创建线程: 第一种方式创建Thread子类和重写run方 ...

  9. JAVA之多线程概念及其几种实现方法优劣分析

    1. 多线程 程序:指令集,静态的概念 进程:操作系统调动程序,是程序的一次动态执行过程,动态的概念 线程:在进程内的多条执行路径 Ps:单核的话进程都是虚拟模拟出来的,多核处理器才可以执行真正的多线 ...

随机推荐

  1. BZOJ3122 随机数生成器

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=3122 题意: 思路:(1)x1=t则n=1; (2)a=0,则b=t,n=2;否则无解: ...

  2. NGUI监听事件

    using UnityEngine; using System.Collections; public class UIDataHandler : MonoBehaviour { public UII ...

  3. 1641. Duties

    1641 枚举 #include <iostream> #include<cstdio> #include<cstring> #include<algorit ...

  4. decode-string(挺麻烦的)

    Java String作为参数传参是不会改变的,这个与常识的感觉不同. public String decodeString(String s) { s = ""; return ...

  5. UVa 10341 (二分求根) Solve It

    很水的一道题,因为你发现这个函数是单调递减的,所以二分法求出函数的根即可. #include <cstdio> #include <cmath> //using namespa ...

  6. HNOI2010弹飞绵羊

    不得不说块状数组好神奇的啊!这道题的标签可是splay的启发是合并(什么高大上的东西),竟然这么轻松的就解决了! var x,y,i,j,tot,n,m,ch:longint; f,k,l,bl,go ...

  7. Asp.Net IEnumerable,ICollection,IList,List区别

    做C#的同学们,都知道,一类只能有一个继承类,但可以实现多个接口.这句话就告诉我们:IEnumerable,ICollection,IList,List区别了 首先我看看 IEnumerable: / ...

  8. [反汇编练习]160个CrackMe之001

    [反汇编练习] 160个CrackMe之001. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  9. 【C#学习笔记】载入图片并居中

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. liunx上运行mybase

    mybase 是个人知识管理软件,国内用他的人很多,尤其是程序员.我也是mybase的忠实使用者,有大量的积累.    以前一直用Windows,mybase使用完全没有问题,后来转投ubuntu阵营 ...