首页 » Python » Python 从入门到放弃 - Lesson 9 paramiko模块与多线程

Python 从入门到放弃 - Lesson 9 paramiko模块与多线程

 
文章目录

进程与线程简介

进程与线程的区别和联系

python多线程

threading模块

python使用threading模块定义多线程

join

主线程等待子线程结束后才会继续执行

deamon

deamon用于指定线程为守护线程,主程序结束时无需等待守护线程结束

全局解释器锁GIL

任一时刻,只允许一个线程处于运行状态,即使是多核CPU系统。
参考资料:http://www.dabeaz.com/python/UnderstandingGIL.pdf

互斥锁

防止多个线程同时修改一份数据造成数据不一致的问题

递归锁

可以多次进行锁的申请,即在锁状态下还可以申请子锁,避免释放锁时错乱

信号量

信号量是一个可以供多个线程同时申请的锁,即带数量的锁

事件

通过event事件来实现线程间的交互

队列

Queue的基本方法

put()  # 存放元素,如果么有设置timeout参数,在队列满时会阻塞
put_nowait()  # 存放元素,如果队列已满则会抛出queue.Full异常
get()  # 取出元素,如果没有timeout参数,在队列空时会阻塞
get_nowait()  # 取出元素,如果队列已空则会抛出queue.Empty异常
qsize()  # 获取队列长度

Queue类

先进先出队列

LifoQueue类

后进先出队列

PriorityQueue类

带优先级的队列

paramiko模块

用于远程管理SSH主机

基于用户名密码的远程连接

基于密钥的远程连接

原文链接:Python 从入门到放弃 - Lesson 9 paramiko模块与多线程,转载请注明来源!

0