
网络编程
七海霸主
这个作者很懒,什么都没留下…
展开
-
什么是死锁
若干子线程在系统竞争时,都在等待对方对某部分资源解除占用状态,结果是谁也不愿意先解锁,互相干等着,程序无法执行下去 这就是死锁GIL锁解释器锁作用 :限制多线程同时执行,保证同一时间只有一个线程执行,所以cpython里的多线程其实是伪线程所以python 里常常使用协程技术来代替多线程,协程是一种更轻量级的线程,进程和线程的切换时由系统决定,而协程由我们程序员自己决定,而模块gevent...原创 2019-03-19 09:15:46 · 150 阅读 · 0 评论 -
什么是线程安全。什么是互斥锁
每个对象都对应一个可称为 互斥锁的标记 这个标记用来保证来任一时刻,只有一个线程访问该对象同一个进程中的多线程之间是共享系统资源的,多个线程同时对一个对象进行操作,一个线程操作尚未结束,另一个线程已经对其进行操作,导致最终结果出现错误,此时需要对被操作对象添加互斥锁,保证每个线程对该对象的操作都得到正确的结果...原创 2019-03-19 09:23:54 · 1490 阅读 · 0 评论 -
python 中进程和线程 的使用场景?
多进程适合在cpu 密集型操作(cpu 操作指令比较多,如位数多的浮点运算)多线程适合在 IO密集型操作(读写数据操作比较多的,比如爬虫)线程是并发 ,进程是并行进程之间互相独立, 是系统分配资源的最小单位 同一个进程中的所有线程共享资源并行 : 同一时刻多个任务同时在运行加粗样式并发: 在同一时间间隔内 多个任务都在运行,但是并不会在同一时刻同时运行,存在交替执行的情况程序需要较多的...原创 2019-03-19 09:47:28 · 884 阅读 · 0 评论 -
udp 和 tcp
使用udp 发送和接收数据步骤:1.创建客户端套接字2.发送/接收数据3.关闭套接字UDP 绑定端口号:1.创建 socket 套接字2.绑定端口号3.接收/发送数据4.关闭套接字TCP 客户端的创建流程:1.创建 TCP 的 socket 套接字2.bing 绑定 ip 地址和端口号3.listen 使套接字变为被动套接字4.accept 取出一个客户端连接,用于服务...原创 2019-03-19 09:56:05 · 178 阅读 · 0 评论 -
简述 TCP和 UDP 的区别 以及优缺点
UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口好信息。优点 : udp 速度快 ,操作简单 要求系统资源较少,由于通讯不需要连接,可以实现广播发送缺点: udp 传送 数据前并不与对方建立连接,对接收的数据也不发送确认信号,发送端也不知道数据是否会正确接收,也不会重复发送 ,不可靠tcp :是面向接收的通讯协议,通过三次握手建立连接,通讯完成四次挥手优点; tcp 在数...原创 2019-03-19 10:09:22 · 1223 阅读 · 0 评论