进程是操作系统资源分配的基本单位
线程是操作系统调度执行的基本单位
每个进程包含了1个至多个线程,并且每个线程都可以共享进程的资源
线程也是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位...线程不能脱离进程进行单独存在,只能依赖于进程进程
在任意线程里都可以创建和撤销其它的线程
一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,缺点在于进程切换时,效率变差
比如,当下载多个文件时...,该下载相关的进程就会创建多个线程,每个线程负责下载一个文件
QT中的多线程编程
QT中的线程是以对象的形式(继承于QThread类)存在的
其中QThread类常用成员函数有:
void run (...//阻塞等待线程执行结束,如果time(单位毫秒)时间结束,线程还未结束,则返回false,否则返回true,如果time= ULONG_MAX,则表示一直等待
多线程示例
class MyThread...多个线程执行时,有可能某个线程会需要等到另一个线程的结果才能执行,可以通wait()成员函数实现,等待另一个线程完成,如下图所示:
?