1. 线程的一些其他方法 threading.current_thread()  # 线程对象 threading.current_thread().getName()  # 线程名称 threading.current_thread().ident   # 当前线程ID threading.get_ident()  #  当前线程ID threading.enumerate()  # 连同主线程在内的正在运行的线程名称 threading.active_count()  # 活跃的线程数 fr…
1.线程的其他方法 from threading import Thread,current_thread import time import threading def f1(n): time.sleep(1) print('子线程名称',current_thread().getName())#获取线程名 if __name__=='__main__': t1=Thread(target=f1,args=(1,)) t1.start() print('主线程名称',current_threa…
一.线程队列 队列:1.Queue 先进先出 自带锁 数据安全 from queue import Queue from multiprocessing import Queue (IPC队列)2.LifoQueue后进先出 后进先出 自带锁 数据安全 from queue import LifoQueue lq=LifoQueue(5) lq.put(123) lq.put(666) lq.put(888) lq.put(999) lq.put("love") print(lq.pu…
目录 进程池线程池的使用***** 进程池/线程池的创建和提交回调 验证复用池子里的线程或进程 异步回调机制 通过闭包给回调函数添加额外参数(扩展) 协程*** 概念回顾(协程这里再理一下) 如何实现协程 生成器的yield 可以实现保存状态(行不通) gevent模块实现 利用gevent在单线程下实现并发(协程) I/O 模型(只放了几张图) 阻塞I/O模型 非阻塞I/O模型 多路复用I/O模型 信号驱动I/O模型 异步I/O模型 进程池线程池的使用***** 无论是开线程还是开进程都会消耗…
目录 05 网络并发 05 网络并发…
GIL全局解释器锁 ''' python解释器: - Cpython C语言 - Jpython java ... 1.GIL: 全局解释器锁 - 翻译: 在同一个进程下开启的多线程,同一时刻只能有一个线程执行,因为Cpython的内存管理不是线程安全. - GIL全局解释器锁,本质上就是一把互斥锁,保证数据安全. 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple nati…
1.进程 正在进行的一个过程或者说一个任务.负责执行任务的是cpu 进程(Process: 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述,进程是程序的实体.我们自己在python文件中写了一些代码,这叫做程序,运行这个python文件的时候,这叫做进程. 狭义定义:进程是正在运行的程序的实例…
1.基于多线程实现套接字服务端支持并发 服务端 from socket import * from threading import Thread def comunicate(conn): while True: # 通信循环 try: data = conn.recv(1024) if len(data) == 0: break conn.send(data.upper()) except ConnectionResetError: break conn.close() def server…
今日内容: 1. 线程的其他方法 2.线程队列(重点) 3.线程池(重点) 4.协程 1.线程的其他方法 语法: Threading.current_thread() # 当前正在运行的线程对象的一个列表 GetName() # 获取线程名 Ident() 获取线程的ID Threading.active_count() # 当前正在运行的线程数量 import threading import time from threading import Thread,current_thread d…
1 线程的其他方法 threading.current_thread().getName()    查询当前线程对象的名字 threading.current_thread().ident             查询当前进程对象的ID threading.enumerate()                            目前正在活动中的线程 threading.active_count()                         目前有几条活动中的线程 2 线程队列 (数据…