【Threading多线程】多线程详解(C#举例)

线程允许程序同时执行多个任务,提高效率并减少CPU空闲时间。在C#中,System.Threading.Thread类用于创建和管理线程。线程有其生命周期,包括未启动、就绪、不可运行和死亡四个阶段。通过设置线程优先级和使用如Thread.Sleep的方法,可以控制线程执行顺序和同步。示例中提到了使用线程来模拟双色球游戏,展示如何创建和启动线程,并通过调整线程状态实现特定行为。
摘要由CSDN通过智能技术生成

为什么要有线程?

最直接的解释就是:

过去我们只能一个时间里做一件事或是在要同时做两件事的事的时候有一个较长的交替时间。

现在我们可以边听歌,边打游戏,边看电视,几乎能达到
同时操作多件事情,

又比如桌面上同时打开好几个程序,
能够同时进行或是短时间的等待能运行多个程序的

这样的一个过程就需要线程来实现


什么是线程?

  1. 线程是轻量级进程。
  2. 一个使用线程的常见实例是现代操作系统中并行编程的实现。
  3. 使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。

应用程序同时只能执行一个任务。为了同时执行多个任务,它可以被划分为更小的线程。


线程的生命周期

未启动就绪不可运行死亡
线程实例被创建但 Start 方法未被调用程准备好运行并等待 CPU 周期时已经调用 Sleep 或 wait 方法 也可能是通过 I/O 操作阻塞线程已完成执行或已中止时

c#线程举例

在 C# 中,System.Threading.Thread 类用于线程的工作。

线程具有优先级,我们可以设置一些线程先于其他线程执行,总是第一个执行的线程为:

主线程

using System.Threading;
using System.Threading.Tasks;

双色球举例:

通过创建对象,引用对象,Thread中的一些操作方法比如:

TaskFactory f = new TaskFactory();
List<Task> list = new List<Task>();

通过StartNew => 创建并开启任务

list.Add(f.StartNew(() =>

通过Thread.Stop()线程挂起等待毫秒数的设置来实现数字跳动,字符等待。

Thread.Sleep(10);

具体的代码和学习可以关注我,搜索【C# 双色球】窗体代码实现 。

点此前往 =>{
                           点击前往查看
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

THIM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值