多线程学习笔记1
并发进程线程并发的实现总结
并发
概念:两个或多个任务(独立的活动)同时发生(进行);一个程序同 时执行多个任务。以往计算机(单核)同一时间只能执行一个任务;由操作系统调度,每秒进行多次“任务切换”。
进程
概念:一个可执行程序运行起来了,就创建了一个进程;运行起来的可执行程序。
线程
每个进程,都有一个主线程,且只有一个主线程;主线程生命周期与进程生命周期相同。理解为一条代码的执行通路;除主线程外,我们可以通过自己写代码创建新的线程,其他线程走不同的路,甚至不同的地方放。(同一时刻做不同的事);线程切换:线程不是越多越好,每个线程需要栈空间(1M)需要保存很多中间状态,切换会消耗本该程序运行的时间。
并发的实现
多进程实现并发;(进程间的通信:同一电脑:管道、文件、消息队列,共享内存。不同电脑:socket通信技术)。在单独的进程中,创建多个线程实现并发,创建除主线程之外的线程。(轻量级的进程,每个线程有自己独立的运行路径,每一个进程中的所有线程共享地址空间-共享内存;全局变量、指针、引用都可以在线程间传递,多线程开销小于多进程)
总结
和进程相比,线程有如下优点: a.线程启动速度快,更轻量级; b.系统资源开销小,执行速度快; 缺点: 使用有一点难度,要小心处理数据的一致性问题。 链接: link.