ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

C# 多线程(学习笔记13)

C# 多线程(学习笔记13)

1.进程与线程

进程是资源管理的最小单位,有自己的内存空间,一个进程可以有多个线程,各线程之间共享进程的系统资源。
多线程的意义在于多任务的并发执行。多线程对于自动化领域意义重大,例如一个线程去访问硬件设备读写数据,另一个线程需要操作数据库,
如果放在同一个线程中,那么就会造成程序的严重卡顿。

2.简单示例

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WinFormC10
{public partial class Form1 : Form{private delegate void FlushClient();//代理int num = 0;public Form1(){InitializeComponent();// 禁止跨线程检查// Control.CheckForIllegalCrossThreadCalls = false;}private void Form1_Load(object sender, EventArgs e){}private void Button1_Click(object sender, EventArgs e){Thread thread = new Thread(M){IsBackground = true};thread.Start();}private void M(){while (true){S();Thread.Sleep(1000);}}private void S(){if (this.InvokeRequired)//等待异步{num++;FlushClient fc = new FlushClient(S);this.Invoke(fc);//通过代理调用刷新方法}else{this.Text = num.ToString();}}}}

3. Thread类

3.1 属性

序号 属性 作用
1 IsBackground 是否是后台线程。后台线程会在前台线程结束后自动终止。
2 IsAlive 线程是否活动,false表示终止。
3 Priority 线程优先级
4 ThreadState 获得当前的线程状态
5 Name 线程名称
6 ManagedThreadId 当前线程ID

3.2 方法

序号 方法 作用
1 Sleep 休眠,线程挂起
2 Abort 终止(释放)。
3 Start 启动

Thread类属于比较古老的线程类,一般在.Net Frmaework3.5以下版本使用。

返回列表