1.什么是线程
<1>线程是附属在进程上的执行实体,是代码的执行流程。
<2>一个进程可以包含多个线程,但一个进程至少要包含一个线程。
我写一个程序
#include"stdafx.h"
#include<stdio.h>
int main(int argc, char argv[])
{
for (int i = 0; i < 100; i++)
{
Sleep(500);
printf("---------%d\n", i);
}
return 0;
}
输出:(每隔半秒)

执行这个代码就是一个线程。
我们打开任务管理器,

可以看到这些进程中有多个线程在执行,就是有多段代码在执行。
怎么理解呢?假设我们的电脑是单核的,单核能否执行多个线程的?可以的,不过并不是多个线程同时执行,因为我们的CPU切换速度非常快看起来就像多个线程同时执行。不过实际上单核不存在真正的多线程,某个时间都只有一段代码在执行。
如果我们的电脑是多核的,那确实是多段代码同时进行。
2.创建线程:

这篇博客探讨了线程的概念,指出线程是进程中的执行实体,并且一个进程至少包含一个线程。在单核和多核CPU中,线程通过快速切换给人一种并发执行的错觉。接着,介绍了如何使用Win32 API的CreateThread()函数来创建线程,并通过示例代码展示了线程的执行过程和生命周期管理。需要注意的是,创建的线程必须在main函数结束前完成,否则会被释放导致无法执行,可以通过将线程设置为全局变量来解决这个问题。
最低0.47元/天 解锁文章
1386

被折叠的 条评论
为什么被折叠?



