摘要:
知识点:(1)什么叫进程? 举个例子:电脑上qq,是一个exe二进制文件,存在磁盘里的,这叫程序,当我们双击打开qq时,操作系统调用代码以及系统分配的资源(资源包括摄像头,内存,显卡,声卡等等),这时进程就产生了,简单说进程启动的程序就是运行代码+资源,没有启动的时候就是一个二进制文件,不调用任何系 阅读全文
摘要:
前言:说起性能测试,大家想到的基本上都是工具jmeter和loadrunner多少也对执行性能测试的方式有一点认识,这些工具基本都实现了请求-响应-结果统计分析这样完整的测试链路,用户方面只需组织这些现成的插件即可实现性能测试过程,但是这些都不是对python友好的工具,对于python系用户来说不 阅读全文
摘要:
test1-num:1000000test1-num:2000000num:2000000 如果没有加互斥锁的话,运行结果每次都是混乱的,如下: test1-num:1129808test1-num:1235738num:1235738 阅读全文
摘要:
知识点:上一节说的多个线程可以共享全局变量,但是存在一个问题:导致资源争抢,数据错误 1、先看一下代码,创建俩个线程函数,同时修改全局变量的值,打印看下结果: 我们可以看到通过多线程同时去修改全局变量的值打印的数据结果是混乱的,为什么会这样呢?看下图分析: 阅读全文
摘要:
知识点:什么叫共享全局变量? 举个应用场景:假如我有俩个方法,一个执行下载图片的,一个执行将下载的图片整理后发送给别人,按照之前单任务的方法就是等下载完后,再去执行发送图片,多任务就是下载和发送一起运行,此时他们共享同一个图片数据,这个数据就是 共享变量 1、下面用一个简单的代码演示一下共享全局变量 阅读全文
摘要:
知识点:之前第一节介绍创建线程的方法是:通过threading.Thread(target=函数名不要加括号)创建一个对象,通过对象调用start方法创建并启动线程; 这一节介绍另外一种创建线程的方法:写一个子类,继承Thread类,里面定义一个run方法即可通过该子类创建一个线程 代码如下,解释看 阅读全文
摘要:
以上一节代码为例,如何查看运行的线程数,需要调用threading模块里面的enumerate方法,返回一个线程数列表: 我在唱歌....我在跳舞....[<_MainThread(MainThread, started 26264)>, <Thread(Thread-1, started 2380 阅读全文
摘要:
这章主要说说线程系列的知识。线程是什么?主线程和子线程怎么区分?怎么在程序中创建多线程? 1、创建多线程程序,以一个简单的代码为例: 我在唱歌....我在跳舞.... 我在唱歌....我在跳舞.... 2、什么叫线程?工作原理是怎么样的?看下图: 阅读全文
摘要:
知识点:我们经常会把多任务,并行,并发这些词挂在嘴边,但是你能了解这些词到底什么意思吗?工作原理是怎样的呢?其实有经验的程序员让他讲也讲不清,反正我之前就是糊里糊涂地,搞清底层运行原理,自然就分得清了,下面直接看图: 注意:下图的0.00001秒是我举得例子,并不是cpu真正运行速度 图上的解释字太 阅读全文
摘要:
知识点:之前讲的udp协议传输数据是不安全的,不可靠不稳定的,tcp协议传输数据安全可靠,因为它们的通讯机制是不一样的。udp是用户数据报传输,也就是直接丢一个数据包给另外一个程序,就好比寄信给别人,信丢了你也不知道,tcp传输需要先和服务端建立连接,当客户端与服务器连接时,服务器会给出应答,我俩连 阅读全文