多线程Part1

线程

  线程是操作系统能够进行运算调度的最小单位,他被包含在进程之中,是进程中的实际运作单位

  一个线程就是一个指令流,将指令流中的一条条指令以一定顺序交给CPU执行

  线程通信比较简单,例子就是多个线程可以访问同一个共享变量,因为它们共享线程内的内存

  理解:应用软件中互相独立,可以同时运作的功能

进程

  进程是程序的基本执行实体,程序由指令和数据组成,但指令要运行,数据要读写,必须把指令交给cpu,数据交给内存,运行过程中可能还需要磁盘、网络

  进程就是用来加载指令、管理内存、管理IO

  进程可以视为程序的一个实例,大部分程序可以同时运行多个实例进程(记事本、画图),也有的只能启动一个(网易云音乐)

  在windows中进程是不活动的,只是线程的容器

进程通信比较复杂——同一台计算机的通信叫做IPC

不同计算机的进程通信,需要通过网络,并遵循协议,例如HTTP

多线程应用场景

软件中的耗时操作:拷贝、迁移大文件;加载大量的资源文件

所有的聊天软件

所有的后台服务器

 

总结

线程上下文切换成本比进程上下文切换低

有了多线程就可以让程序同时做多件事情

作用:提高效率

应用场景:只要你想让多个事情同时运行就需要用到多线程

 

posted @ 2023-07-07 20:19  名泽  阅读(14)  评论(0)    收藏  举报