上一页 1 2 3 4 5 6 7 ··· 16 下一页
摘要: 很多时候,线程之间会有互相通信的需要。常见的情形是次要线程为主要线程执行特定的任务,在执行过程中需要不断报告执行的进度情况。前面的条件变量同步已经涉及到了线程间的通信(threading.Condition的notify方法)。更通用的方式是使用threading.Event对象。threading 阅读全文
posted @ 2016-03-28 15:07 gopher-lin 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 让我们考虑更复杂的一种场景:产品是各不相同的。这时只记录一个数量就不够了,还需要记录每个产品的细节。很容易想到需要用一个容器将这些产品记录下来。 Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级 阅读全文
posted @ 2016-03-28 15:05 gopher-lin 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 互斥锁是最简单的线程同步机制,Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。线程首先acquire一个条件变量,然后判断一些条件。如果条件不满 阅读全文
posted @ 2016-03-28 15:04 gopher-lin 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 死锁 在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。尽管死锁很少发生,但一旦发生就会造成应用的停止响应。下面看一个死锁的例子: 更简单的死锁情况是一个线程“迭代”请求同一个资源,直接就会造成死锁: 为了支持在同一线程中多次请求同一资源,python提 阅读全文
posted @ 2016-03-28 14:54 gopher-lin 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,根据num进行一些处理,然后将num加1。很容易写出这样的代码: 问题产生的原因就是没有控制多个线程对同一资源的访问,对数据造成破坏,使得线程运行的结果不可预期。这种现象称为“线程不安全”。 互斥锁同步 上面的例子引出了多线程 阅读全文
posted @ 2016-03-28 14:51 gopher-lin 阅读(188) 评论(0) 推荐(0) 编辑
摘要: # encoding: UTF-8 import threading import time class MyThread(threading.Thread): def run(self): for i in range(3): time.sleep(1) msg = "I'm "+self.name+' @ '+str(... 阅读全文
posted @ 2016-03-28 14:48 gopher-lin 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 虚拟机层面 Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁)来互斥线程对共享资源的访问,暂时无法利用多处理器的优势。 语言层面 在语言层面,Python对多线程提供了很好的支持,Python中多线程相关的模块包括:thread,threading,Queu 阅读全文
posted @ 2016-03-28 14:47 gopher-lin 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 一次完整的HTTP请求从客户端到服务器端所经过的各个环节? 从浏览器输入URL时,请求DNS服务器去解析,获取相对IP; 接下来对该IP地址的服务器进行TCP/IP连接,然后浏览器发来HTTP Request请求包; 服务器处理该请求并返回HTTP Response包; 接下来浏览器开始渲染Resp 阅读全文
posted @ 2016-03-28 13:19 gopher-lin 阅读(128) 评论(0) 推荐(0) 编辑
摘要: #coding:utf-8 ''' 折半查找返回值是mid+1 ''' def half_search(data,target): low,high = 0,len(data)-1 while low target: high = mid -1 else: low = mid+1 return 0 d... 阅读全文
posted @ 2016-03-17 15:04 gopher-lin 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 从HTPP站点下载文件 阅读全文
posted @ 2016-03-17 11:21 gopher-lin 阅读(123) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 16 下一页