研究了解了一下这几个概念性问题:
进程、线程:
进程相当于一个软件,线程是这个软件中的某一段程序。
同时打开运行多个软件时就是多进程,
一个软件中可以同时执行多个功能就是多线程。
理论区别:
- 进程是程序的一次执行,线程可以理解为进程中执行的一个程序片段。
- 进程间是相互独立的,表现在内存空间,上下文环境,线程运行在进程空间内。
- 一般来将(不采用特殊技术)进程无法突破进程边界获取其他进程的存储空间,而线程由于处于同一进程空间内,所以同一进程所产生的线程可以共享同一存储空间。
- 同一进程中两段代码不能同时执行,除非引入线程。
- 线程属于进程,当进程退出时,该进程下的所有线程将被强制退出并清除。
- 线程占用的空间资源少于进程占用空间资源。
- 进程和线程都有优先级。
- 在线程系统中,进程也可以理解为一个线程,可以理解为一个程序的第一个线程。
单线程、多线程区别:
- 线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同工作,为多线程。
- 单线程是程序中只有一个单一的顺序控制流程,多线程是一个程序中同时运行多个线程,完成不同的工作
同步异步:
同步:发送方发送数据后,接收到了接收方返回的数据,再进行下面的操作。
异步:发送方发送数据后,不接收接收方返回的数据,直接进行下面的操作。
举个例子:普通B/S模式(同步)AJAX技术(异步)
同步:提交请求->等待服务端处理->服务端处理完毕返回数据 (在这期间客户端浏览器不能做任何事情,必须等返回数据)
异步:请求通过事件触发->服务端处理 (这时浏览器做其他事情)->处理完毕
时间: 2024-10-14 00:06:41