上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页
摘要: # concurrent.futures模块提供了高度封装的异步调用接口。 # 其中ThreadPoolExecutor:线程池,提供异步调用 # 其中ProcessPooExecutor:进程池,提供异步调用。之前学过multiprocessing中的Pool也是进程池。 # 在这个concurrent.futures模块中,线程池与进程池的所有方法接口都是相同的 # 基本方... 阅读全文
posted @ 2018-10-28 13:36 _小溢 阅读(152) 评论(0) 推荐(0)
摘要: # 队列是数据安全的,意思是自带锁,多线程间通信时,使用队列是好的,不会出现同一个数据被多个线程抢占,使用其他数据类型进行通信则需要自己实现锁功能 import queue # 普通先进先出队列 # q = queue.Queue() # 没有参数则表示队列没有指定深度 # q.put(1) # 如果队列指定了深度则到了深度后,会阻塞在这里等待队列有空间后再向队列中放入数据 # q.pu... 阅读全文
posted @ 2018-10-28 12:55 _小溢 阅读(715) 评论(0) 推荐(0)
摘要: 1.线程中的条件 2.线程中的定时器 阅读全文
posted @ 2018-10-28 12:40 _小溢 阅读(771) 评论(0) 推荐(0)
摘要: # 线程中的信号量 # 和进程中的信号量概念一样,创建好信号量的深度后,同一时间只有n个线程可以访问被信号量保护的代码 # 同一时间只有4个线程可以访问被信号量保护的代码 # import time # from threading import Semaphore, Thread # # def func(sem, a, b): # sem.acquire() # ... 阅读全文
posted @ 2018-10-26 21:55 _小溢 阅读(1287) 评论(0) 推荐(0)
摘要: # 一般进程中,我们锁用的少,因为我们进程之间通信,很少会使用IPC中的管道、队列、Manager这些东西,而是使用一些中间件,而在这些中间件中,已经帮我们实现了进程之间锁的功能,访问消息中间件是不需要加锁的 # 线程锁 # Lock互斥锁会存在死锁问题,需要编码者注意 # RLock递归锁 # 互斥锁 # from threading import Lock # from ... 阅读全文
posted @ 2018-10-26 21:14 _小溢 阅读(1203) 评论(0) 推荐(0)
摘要: # 没有守护线程时,主线程会等待子线程的结束,子线程结束后,主线程才会结束 # import time # from threading import Thread # # # def func1(): # print(666) # time.sleep(10) # # def func2(): # pass # # if __name__ == '__main__':... 阅读全文
posted @ 2018-10-24 22:11 _小溢 阅读(131) 评论(0) 推荐(0)
摘要: import threading def wahaha(n): print(n, threading.current_thread()) # 1 threading.Thread(target=wahaha, args=(1,)).start() print(threading.current_thread()) # # 查看线程名和线程id的方法, print(th... 阅读全文
posted @ 2018-10-24 21:40 _小溢 阅读(116) 评论(0) 推荐(0)
摘要: # Cpyrhon解释器下有个全局解释器锁-GIL:在同一 # 在同一时刻,多线程中只有一个线程访问CPU # 有了全局解释器锁(GIL)后,在同一时刻只能有一个线程访问CPU。 # 全局解释器锁锁的是线程,而不是数据。 # 这种全局解释器锁的特性就是同一时间只有有一个线程访问CPU,所以在多个CPU的情况下,也只有一个线程在一个时间点访问CPU,这是Cpytho... 阅读全文
posted @ 2018-10-24 21:39 _小溢 阅读(358) 评论(0) 推荐(0)
摘要: 1.server 2.client 阅读全文
posted @ 2018-10-24 21:39 _小溢 阅读(150) 评论(0) 推荐(0)
摘要: # python线程模块的选择 #python提供了几个用于多线程编程的模块,包括thread、threading和Queue等。 # thread和threading模块允许程序员创建和管理线程。 # thread模块提供了基本的线程和锁的而支持,threading提供了更高级别、功能更强的线程管理功能 # Queue模块允许用户创建一个... 阅读全文
posted @ 2018-10-23 22:28 _小溢 阅读(122) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页