中文源码网
欢迎您!
会员登录
会员注册
发布自媒体
发布模版
发布源码
发布模版
发布酷站
推荐源码
常用源码
帮助中心
栏目导航
热门搜索:
网站首页
免费源码
精品源码
html模版
精品模版
酷站大全
技术文档
方案大全
网络教程
站长自媒体
新闻动态
帮助中心
免费源码下载
asp源码
php源码
python源码
.net源码
jsp源码
JS特效
安卓源码
IOS源码
微信小程序下载
毕业设计源码下载
模版下载
商城模版
手机wap模版
网络教程
html5教程
asp教程
php教程
jsp教程
html5/css教程
html5
CSS
javascript教程
javascript技巧
jquery
json
ajax
asp教程
asp入门教程
asp技巧
asp函数/类库
aspCMS
php教程
php入门教程
php技巧
php函数/类库
php框架
jsp教程
jsp入门教程
jsp技巧
jsp框架
C#/.NET教程
C#/.NET入门教程
C#/.NET技巧
MVC
Python教程
python入门教程
Python编程技巧
Python网站web
Python网络爬虫
Python自动化运维
数据挖掘/机器学习
Python人工智能
Python多媒体
Python科学计算
Python游戏开发
Python图形界面
Python数据库相关
Python与其他语言
网络营销
营销理论
营销技巧
建站经验
技术探讨
网站运营
创业学堂
点击排行
详解Python中6种数据类型
如何优化你的Mysql
PyPI常用的几个国内源地址收藏
常用Python模版库大全
python使用正则表达式最详细的教程
Python3中Random的实例教程
Python3中的BS4库的安装及使用方法教程
python中关于单行注释、多行注释以及变量、类型基础知识用法
Python3解决中文字符输出乱码的方法
Python3中关于字典和列表以及指定元素排序方法举例说明
Python3中的type和object用法
python实现txt在excel的.xls和.xlsx文件中的导入与导出
python判断文件夹是否存在,不存在则创建文件夹
Python运行错误详解
python3以后用urllib.request代替urllib2
您现在的位置:
首页
>
网络教程
>
C#/.NET入门教程
我要投稿
我要报错
C#线程知识点入门
来源:
中文源码网
浏览:519 次 日期:2024-03-28 06:26:17
C#线程基础知识
在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。
using System.Threading;
开始一个线程
System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建、删除、停止及恢复一个线程。
创建一个新线程通过new 操作,并可以通过start()方法
启动线程
thread = new Thread(new ThreadStart(HelloWorld));
thread.Start();
注意:和java程序不同,创建新线程并调用start()方法后并不去调用run()方法,而是传递线程调用程序
下面是启动线程执行的函数
protected void HelloWorld()
{
string str ;
Console.write("helloworld");
}
}
杀死一个线程
线程类的 Abort()方法可以永久的杀死一个线程。在杀死一个线程起前应该判断线程是否在生存期间。
if ( thread.IsAlive )
{
thread.Abort();
}
停止一个线程
Thread.Sleep 方法能够在一个固定周期类停止一个线程
thread.Sleep();
设定线程优先级
线程类中的ThreadPriority 属性是用来设定一个ThreadPriority的优先级别。线程优先级别包括Normal, AboveNormal, BelowNormal, Highest, and Lowest几种。
thread.Priority = ThreadPriority.Highest;
挂起一个线程
调用线程类的Suspend()方法将挂起一个线程直到使用Resume()方法唤起她。在挂起一个线程起前应该判断线程是否在活动期间。
if (thread.ThreadState == ThreadState.Running )
{
thread.Suspend();
}
唤起一个线程
通过使用Resume()方法可以唤起一个被挂起线程。在挂起一个线程起前应该判断线程是否在挂起期间,如果
线程未被挂起则方法不起作用。
if (thread.ThreadState == ThreadState.Suspended )
{
thread.Resume();
}
在很多情况下你可能要在各个线程中分别执行存在轻微差别的任务,同时需要把某种参数从一种任务所在的线程传递给另一任务所在的线程。
要完成这一目标可以采取好几种合理的方式,最直接的做法就是创建一种Task对象,由它保存线程、特有的参数以及提供ThreadStart指派的worker方法。
利用worker方法即可读取所提供的参数,因为它正好就是Task对象的成员所以对线程当然是唯一的。通过令线程成为一种公共字段,你就可以获得访问线程
所有成员的权限而不必编写额外的封装代码了。
上一篇:
正则表达式语法教程
下一篇:
Sqlserver模糊查询详解
精彩推荐
相关内容
•
正则表达式语法教程
•
C#线程知识点入门
•
常用正则表达式
•
C#操作文件及目录讲解Directory和File
•
UML是什么?
•
C#堆和栈是什么?堆和栈有什么区别?
网友评论
QQ客服
公众号
手机版
帮助中心