为什么要有线程?
最直接的解释就是:
过去我们只能一个时间里做一件事或是在要同时做两件事的事的时候有一个较长的交替时间。
现在我们可以边听歌,边打游戏,边看电视,几乎能达到 同时操作多件事情,
又比如桌面上同时打开好几个程序, 能够同时进行或是短时间的等待能运行多个程序的
这样的一个过程就需要线程来实现
什么是线程?
- 线程是轻量级进程。
- 一个使用线程的常见实例是现代操作系统中并行编程的实现。
- 使用线程节省了 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# 双色球】窗体代码实现 。
点此前往 =>{ ? ? ? ? ? ? ? ?? ? ? ? ? ? 点击前往查看 }
|