线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
进程与线程的区别:
1、进程是资源分配的最小单位,线程是程序执行的最小单位;
2、进程有独立的地址空间,而线程只是一个进程中的不同执行路径;
3、线程有自己的堆栈和局部变量,但线程没有单独的地址空间。
线程的优点:
1、运行于一个进程中的多个线程,线程之间互相切换的时间远远小于进程间;
2、线程间方便的通信机制;
3、使多CPU系统更加有效,操作系统会保证当线程数不大于CPU数目时,不同线程运行于不同CPU;
4、改善程序结构。
线程同步方式:临界区、事件、互斥量、信号量
多线程和多进程的区别:
每个进程都有自己的地址空间,而多线程之间共享地址空间,执行开销小,但是不利于资源管理与保护。线程是由进程管理的。一个进程可以有多个线程,但一个线程只属于一个进程。