以下内容全部来自于B站老杨- https://space.bilibili.com/361469957/video 这里作为学习笔记记录。
线程的概念:
单线程应用:
多线程应用:
这幅图展示了四种程序状态:
用WPF的例子解释为什么需要多线程:
如果在UI界面的主线程读数据,那么耗时10s的读数据就会使得UI界面假死,造成不好的用户体验;
所以正确的做法应该是再开辟一个新的线程去读取数据,UI线程该干嘛干嘛,读取数据10s后再将数据交回到UI主线程。
这个数据就被称作是共享的状态。
开辟新线程的示例代码:
输出结果:
为什么会有这样的结果?原理解释:
分单核和多核计算机解释:
下图解释这个例子,在主线程Main thread中开辟了一个新的线程Worker thread然后主线程输出x,新线程中输出y
因此这就是为什么我们在控制台看到输出x的字符块和y的字符块。
一些线程中术语的解释:
线程的一些属性:
常用属性IsAlive
例子:
执行结果: