网络编程
大鹏的编程之路
既然选择远方,便只顾风雨兼程
展开
-
并发编程-多线程
多线程文章目录多线程创建线程的两种方式Thread对象的其他属性或方法守护线程GIL解释器锁多线程性能测试死锁现象递归锁创建线程的两种方式第一种:rom threading import Threadimport timedef sayhi(name): time.sleep(2) print('%s say hello' %name)if __name__ ==...原创 2019-11-12 21:35:24 · 191 阅读 · 0 评论 -
线程理论知识
线程理论知识文章目录线程理论知识有了进程为什么要有线程?进程和线程之间的关系内存中的线程python线程模块的选择有了进程为什么要有线程?进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上:进程只能在一个时间干一件事,如...原创 2019-11-12 19:51:35 · 173 阅读 · 0 评论 -
multiprocess模块
文章目录multiprocess模块Process类的介绍Process对象的join方法守护进程互斥锁模拟抢票练习互斥锁与joinQueue方法介绍multiprocess模块python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multi...原创 2019-11-12 19:16:07 · 674 阅读 · 0 评论 -
进程理论知识
进程理论知识文章目录进程理论知识初识进程进程的概念进程的特征进程与程序的区别进程的并行与并发同步异步阻塞非阻塞同步与异步阻塞与非阻塞同步/异步与阻塞/非阻塞初识进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线...原创 2019-11-11 18:00:09 · 519 阅读 · 0 评论 -
实现简单的文件传输的客户端与服务端
在做这个程序前,首先要看懂struct模块中pack与unpack功能,具体的可参考翻译struct.pack与struct.unpack简单来说,就是struct.pack(‘i’,int)可将整型的数据打包成bytes形式的struct.unpack(‘i’,bytes)可将bytes的数据包反解成元组形式的,其中元组第一个粗出的就是被打包的数字,更高级的用法我也不太懂,可参考上面链接...原创 2019-09-19 20:20:19 · 1181 阅读 · 0 评论 -
subprocess.Popen()的用法
subprocess.Popen()的简单用法subprocess 模块允许你生成新的进程,连接它们的输入、输出、错误管道,并且获取它们的返回码。subprocess.Popen(args, shell=True, stderr=subprocess.PIPE, stdin=subprocess.PIPE,stdout=subprocess.PIPE)args被用作启动进程的参数. 可能是...原创 2019-09-20 09:25:23 · 7264 阅读 · 1 评论 -
粘包现象
粘包现象粘包现象产生的原因tcp中有一个negal算法,用途是这样的:通信两端有很多小的数据包要发送,虽然传送的数据很少,但是流程一点没少,也需要tcp的各种确认,校验。这样小的数据包如果很多,会造成网络资源很大的浪费,negal算法做了这样一件事,当来了一个很小的数据包,我不急于发送这个包,而是等来了更多的包,将这些小包组合成大包之后一并发送,不就提高了网络传输的效率的嘛。这个想法收到了很好...原创 2019-09-20 09:43:10 · 696 阅读 · 0 评论 -
Socket
SocketSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部。socket起源于Unix,而Unix/Linux 基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭cl...原创 2019-09-20 10:07:36 · 510 阅读 · 0 评论