网络协议
127.0.0.1 和 0.0.0.0 的区别
- 0.0.0.0: 相当于
this
, 监听本机的所用端口 | ip - 127.0.0.1 : 回环地址, 外部无法访问端口
多线程与多进程的区别 (参考地址: https://blog.csdn.net/lishenglong666/artic...)
- 多进程:进程是资源分配的最小单位
-
多线程:线程是CPU调度的最小单位
| 对比维度 | 多进程 | 多线程 | | 数据共享、同步 | 数据共享复杂,需要用IPC;数据是分开的,同步简单 | 因为共享进程数据,数据共享简单,但也是因为这个原因导致同步复杂 | |内存、CPU |占用内存多,切换复杂,CPU利用率低 |占用内存少,切换简单,CPU利用率高 |创建销毁、切换 |创建销毁、切换复杂,速度慢 |创建销毁、切换简单,速度很快 |编程、调试 |编程简单,调试简单 |编程复杂,调试复杂 |可靠性 |进程间不会互相影响 |一个线程挂掉将导致整个进程挂掉 | 分布式 |适应于多核、多机分布式;如果一台机器不够,扩展到多台机器比较简单|适应于多核分布式
总结:进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
并行与并发的区别
并发:指应用能够交替执行不同的任务,吃饭吃到一半,电话来了,停了下来接了电话,接完后继续吃饭
并行:指应用能够同时执行不同的任务,例:吃饭的时候可以边吃饭边打电话,这两件事情可以同时执行
TCP和UDP的区别
- tcp优点: 传输可靠, 稳定。 原因是:三次握手来建立连接,数据传递时采用,确认应答、超时重发,流量控制等..
- tcp缺点: 运行速度慢, 占用系统资源多,易被DOS DDOS 攻击。 原因: 采用三次握手建立连接
- tdp优点: 运行数据快,安全, 原因: 不进行握手建立连接。 所以受攻击少, 并且快。
- tdp缺点: 不可靠: 原因: 网速拥堵时,容易丢包
本作品采用《CC 协议》,转载必须注明作者和本文链接