线程概述

线程与进程

实际生活中,一台mac电脑可以一边编写程序一边播放音乐,这个就是多进程,目前大多数的操作系统都支持多进程。而多线程是一个进程内又分了几个任务在同时执行,比如播放歌曲这个进程可能又包含了播放当前歌曲和缓存下一首歌曲两个线程在同时执行。
如果是电脑只有一个cpu的话,某个时间点只能执行一个进程单元,线程也一样,cpu会根据某种算法来决定当前时间cpu交给谁占用。

总结起来就是,一个程序执行至少又一个进程,一个进程又可以包含多个线程,但至少包含一个线程。

多线程的优势

采用多线程很多都是场景需求,比如我早上上班出门,同时我需要把垃圾带下去扔掉,最好的解决办法是,同时执行两个动作-出门、带上垃圾。如果我非要先把垃圾扔了,再回来执行出门的操作就感觉会非常不合理。

  • 进程之间不能共享内存,线程之间共享内存非常容易
  • 系统创建进程时需要为该进程重新分配系统资源,但创建线程代价就比较小

在实际生活中,多线程也是十分有用的,一个浏览器必须能同时下载多个图片,一个web服务器也必须能同时响应多个用户的请求。

你可能感兴趣的:(线程概述)