上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: import time def one_hundred_millionA(): start_time = time.time() i = 0 for _ in range(100000000): i = i +1 yield end_time = time.time() print("A--Total time:{}... 阅读全文
posted @ 2018-03-23 20:56 Bob__Zhang 阅读(1352) 评论(0) 推荐(0) 编辑
摘要: #协程 #~又称微线程 ''' 他是比线程更小的执行单元,因为它自带CPU上下文.这样只要在合适的时机,我们可以把一个协程切换到另外一个协程当中 只要这个过程保存或恢复CPU上下文,那么程序就可以运行 通俗的理解:在一个线程当中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行 yield--表示暂停 ''' import time def A(): ... 阅读全文
posted @ 2018-03-23 20:55 Bob__Zhang 阅读(140) 评论(0) 推荐(0) 编辑
摘要: import time from threading import Thread from multiprocessing import Process #计数的方式消耗系统资源 def two_hundred_million(): start_time = time.time() i = 0 for _ in range(200000000): i... 阅读全文
posted @ 2018-03-23 20:50 Bob__Zhang 阅读(155) 评论(0) 推荐(0) 编辑
摘要: #ThreadLocal import threading #创建全局ThreadLocal loacl_school = threading.local() class Student(): def __init__(self,name): self.name = name def process_student(name): std = Student(n... 阅读全文
posted @ 2018-03-22 23:10 Bob__Zhang 阅读(154) 评论(0) 推荐(0) 编辑
摘要: #异步 ''' 同步调用就是,你喊你朋友吃饭,你朋友正在忙 如果你一直在那等他,等你朋友忙完,你们一块去--同步调用 你喊你朋友吃饭,你朋友正在忙, 如果你自己做你自己的事情,你朋友忙完,找到你,一块去吃饭--异步调用 ''' from multiprocessing import Process,Pool import os,time def download(): print(... 阅读全文
posted @ 2018-03-22 23:10 Bob__Zhang 阅读(142) 评论(0) 推荐(0) 编辑
摘要: ''' 在多线程环境下,每个线程都有自己的数据,一个线程使用自己的局部变量比使用全局变量好, 因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁(阻塞--效率低) 但是在使用局部变量的时候,就在函数间调用的时候,传递起来很麻烦 每个函数一层一层调用这个传递过来的参数,很麻烦,用全局变量,不安全,效率低 每个线程处理不同的student对象,不能共享 ''' impor... 阅读全文
posted @ 2018-03-22 23:09 Bob__Zhang 阅读(504) 评论(0) 推荐(0) 编辑
摘要: #多对多 import threading import queue,time,random q = queue.Queue(maxsize=10) count = 1 #生产者 def producer(name): global count while True: if mutex.acquire(): q.put('包子%d'%... 阅读全文
posted @ 2018-03-22 23:08 Bob__Zhang 阅读(414) 评论(0) 推荐(0) 编辑
摘要: #生产者与消费者模式 ''' 定义:在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题. 该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度 案例:厨师做包子和顾客吃包子的问题。 ''' import threading import queue,time q = queue.Queue(maxsize=10) #生产者 def producer(name):... 阅读全文
posted @ 2018-03-22 23:07 Bob__Zhang 阅读(360) 评论(0) 推荐(0) 编辑
摘要: #生产者与消费者模式,模式解释:比如MVC设计模式 ''' 1.队列 (1)特点:先进先出 (2)python2 VS python3 python2:from Queue import queue python3:from queue import Queue join--阻塞动作 blocked--状态 (3)使用 Python的Queue模块中提供了同步的,线程安全的队列类 a.FIF... 阅读全文
posted @ 2018-03-22 23:06 Bob__Zhang 阅读(636) 评论(0) 推荐(0) 编辑
摘要: #1.死锁 ''' 在线程间共享多个资源的时候,如果两个线程分别占有一部分资源,并且同时等待对方资源时,就会造成死锁 尽管死锁很少发生,但一旦发生就会造成应用的停止响应 ''' #2.例子:有两个人分别做"西兰花"和"红烧肉",每个人都需要"锅"和"铲子" import threading,time class XiLanHua_Thread(threading.Thread): def... 阅读全文
posted @ 2018-03-22 23:03 Bob__Zhang 阅读(191) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页