1.进程
进程是指在系统中正在运行的一个应用程序,程序一旦运行就是进程,
进程是系统资源分配的独立实体,且每个进程都有独立的地址空间
一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间
进程之间的通信:
ipc(管道,信号量,共享内存,消息队列)
2.线程
线程是进程的一个实体,是进程的一条执行路径
线程是cpu独立运行和独立调度的基本单位!
线程之间的通信
线程可以直接读写进程数据段(如全局变量)来进行同信---需要进程同步和互斥
的手段的辅助,以保证数据的一致性
3.多线程
多线程是指从软件或者硬件上实现多个线程并发的技术
*多线程的好处
1.使用多线程可以把程序中占据时间长的任务放到后台去处理,如图片,视频的下载
2.发挥多核处理器的优势,并发执行让系统运行更加的快,更流畅,用户体现更好
*多线程的缺点
1.大量的线程降低代码的可读性
2.更多的线程需要跟多的内存空间
3.当多个线程对同一个资源出现资源争夺的时候,要注意线程安全的问题
4.进程和线程选择取决以下几点:
4.1需要频繁的创建销毁的优先使用线程,应为对进程来说创建和销毁一个进程代价太大
4.2线程的切换速度太快,所以需要大量的计算,切换频繁使用线程,还有消耗时的操作,
使用线程可以提高应用程序的相应速度
4.3因为CPU系统的效率使用上线程更加的占优,所以可能需要发展到多机分布用进程,
多核分布用线程
4.4并行操作时候使用线程,如C/S架构的服务器端并发线程的相应用户请求
4.5:需要更加稳定的安全时候,是和选择进程,需要速度时候,选择线程!