程序是一个数据文件,进程是内存中动态的运行实体,用来存储数据段,代码段,指针等
程序和进程的关系
一个程序可能对应多个进程
一个进程可能包含多个程序,比如一个程序依赖多个其它动态库时
进程和线程的关系
进程是操作系统资源分配的基本单位...线程是操作系统调度执行的基本单位
每个进程包含了1个至多个线程,并且每个线程都可以共享进程的资源
线程也是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位....线程不能脱离进程进行单独存在,只能依赖于进程进程
在任意线程里都可以创建和撤销其它的线程
一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,缺点在于进程切换时,效率变差
比如,当下载多个文件时...,该下载相关的进程就会创建多个线程,每个线程负责下载一个文件
QT中的多线程编程
QT中的线程是以对象的形式(继承于QThread类)存在的
其中QThread类常用成员函数有:
void run (...多线程的互斥QMutex
当一个全局的共有资源被多个线程同时调用时,则称该资源为临界资源,并且该资源需要使用QMutex互斥类,来保证线程间的互斥,避免同一时刻访问临界资源而出现意想不到的问题.