09 2017 档案
摘要:信号量(Semaphore) 之前讲的线程锁(互斥锁) 同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据 ,比如厕所有3个坑,那最多只允许3个人上厕所,后面的人只能等里面有人出来了才能再进去。 1、信号量 说白了就是在同一时间,可以只允许设定的数量的线程去执行 上面程
阅读全文
摘要:GIL锁 计算机有4核,代表着同一时间,可以干4个任务。如果单核cpu的话,我启动10个线程,我看上去也是并发的,因为是执行了上下文的切换,让看上去是并发的。但是单核永远肯定时串行的,它肯定是串行的,cpu真正执行的时候,因为一会执行1,一会执行2.。。。。正常的线程就是这个样子的。但是,在pyth
阅读全文
摘要:继承式多线程 1、定义 继承式多线程是自己自定义类,去继承theading.Tread这个类,通过类实例.start()启动,去执行run方法中的代码。 2、通过for循环来启动线程 上面的例子只启动了一个2个线程,还是用那种古老的方式t1,t2。要是一下子起10个或者100个线程,这种方式就不适用
阅读全文
摘要:进程与线程 一、概念 1、简述: 计算机,所有的指令的操作都是有CPU来负责的,cpu是来负责运算的。OS(操作系统) 调度cpu的最小单位就是线程。程序启动后,从内存中分一块空间,把数据临时存在内存中,因为内存比较快,内存比磁盘快,而CPU又比内存还要快很多。进程之前的的内存是不能访问的,默认是要
阅读全文
摘要:socketserver SocketServer服务端内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求。即:每个客户端请求连接到服务器时,Socket服务端都会在服务器是创建一个“线程”或者“进 程” 专门负责处理当前客户端的所有请求。 一、sockets
阅读全文
摘要:上一篇随笔:“socket 接收大数据”,在win系统上能够运行,并且解决了大数据量的数据传输出现的问题,但是运行在linux系统上就会出现如下图所示的情况: 就是服务端两次发送给客户端的数据(第一次发送是时准备发送数据的字节大小,第二次是数据内容)粘在一起了,这是socket中的粘包: 查看服务端
阅读全文

浙公网安备 33010602011771号