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#多线程实现方法的更多相关文章

  1. C# 多线程限制方法调用(monitor)

    多线程执行方法 改方法没有执行完时 别的方法不能调用次方法.用循环执行一个方法可以需要一分钟 在这一分钟只内任何 成员都不能再调用该方法. class MonitorSample { ; //生产者和 ...

  2. Java并发编程(一) 两种实现多线程的方法(Thread,Runnable)

    Java中实现多线程的方法有两种: 继承Thread类和实现Runnable方法,并重写Run方法,然后调用start()方法启动线程.使用Runnable会比Thread要好很多,主要是以下三个原因 ...

  3. C#多线程实现方法——Task/Task.Factary

    原文:C#多线程实现方法--Task/Task.Factary Task 使用 Task以及Task.Factory都是在.Net 4引用的.Task跟Thread很类似,通过下面例子可以看到. st ...

  4. 网络与多线程---OC中多线程使用方法(一)

    小编在此之前,通过一个小例子,简单的形容了一下进程与线程之间的关系,现在网络编程中的多线程说一下!!! *进程的基本概念 每一个进程都是一个应用程序,都有自己独立的内存空间,一般来说一个应用程序存在一 ...

  5. Linux内核多线程实现方法 —— kthread_create函数【转】

    转自:http://blog.csdn.net/sharecode/article/details/40076951 Linux内核多线程实现方法 —— kthread_create函数 内核经常需要 ...

  6. PHP+shell实现多线程的方法

    PHP+shell实现多线程的方法 这里介绍怎样借助shell脚本实现多线程. 先写个简单的php代码.这里为了让脚本运行时间更长.方便看效果,sleep一下.呵呵.先看下test.php的代码:ls ...

  7. 详细分析 Java 中实现多线程的方法有几种?(从本质上出发)

    详细分析 Java 中实现多线程的方法有几种?(从本质上出发) 正确的说法(从本质上出发) 实现多线程的官方正确方法: 2 种. Oracle 官网的文档说明 方法小结 方法一: 实现 Runnabl ...

  8. java 多线程 Synchronized方法和方法块 synchronized(this)和synchronized(object)的理解

    synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块. 1. synchronized 方法:通过在方法声明中加入 synchronized ...

  9. 转:windows下多线程通信方法

    多线程知识简介 同一进程中可以包含多个线程,由于进程中的多个线程可以共享进程中的资源,所以使同一进程中的多个线程之间通信相对比较简单. 当需要有多个线程来访问一个全局变量时,通常我们会在这个全局变量前 ...

  10. JAVA基础知识之多线程——三种实现多线程的方法及区别

    所有JAVA线程都必须是Thread或其子类的实例. 继承Thread类创建线程 步骤如下, 定义Thead子类并实现run()方法,run()是线程执行体 创建此子类实例对象,即创建了线程对象 调用 ...

随机推荐

  1. C#编辑图像文件EXIF信息

    private void setImageTag(string imgFile, string tagFile, string imgTag, string imgTitle) { ; if (Fil ...

  2. JAVA的界面(Swing)

    现在的程序很多在java中运行,很多时候是Web;很多服务端还是有一个简单的日志文件比较好:或者配置: 今天在看java图形界面开发时,看见已经不怎么更新的库.没有办法,市场决定一切,很多好的东西没有 ...

  3. CodeBlocks安装及配置注意事项

    在使用codeblocks的时候,网上一般只会提供CodeBlocks的项目文件,并不包括编译器和调试器,要使用CodeBlocks的完整功能需要在官网下载完整版. 如图可下载mingw版本. 进入C ...

  4. Win10光驱不见了

    1. 网上教程试了很多,如下: http://jingyan.baidu.com/article/02027811656a8b1bcd9ce570.html http://jingyan.todgo. ...

  5. leetcode-【简单题】Happy Number

    题目: Write an algorithm to determine if a number is "happy". A happy number is a number def ...

  6. mysql优化笔记

    query_cache_size 查询缓存 query_cache_type缓存是否打开 OFF/ON read_buffer_size读缓存SET GLOBAL query_cache_size=1 ...

  7. 初探VIM编辑器

    初探VIM 引言---什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了.因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的. vi编辑器是U ...

  8. UEditor使用说明

    页面加入ue<!-- umeditor --><script type="text/javascript" charset="utf-8" s ...

  9. 修改APK包并push到system/app路径下安装

    在工作中,经常遇到需要修改apk包里的资源文件,达到检验不同配置下程序运行情况的目的. 过程如下: 1.首先连接手机,进入命令行,输入:adb root,使得adb获取root权限. 2.输入:adb ...

  10. python 常用高效代码写法集锦

    一.打开文件 #使用 with 语句操作文件对象 with open(r'somefileName') as somefile: for line in somefile: print line # ...