python并发编程——多线程
编程的乐趣在于让程序越来越快,这里将给大家介绍一个种加快程序运行的的编程方式——多线程
1 著名的全局解释锁(GIL)
说起python并发编程,就不得不说著名的全局解释锁(GIL)了。有兴趣的同学可以我查找一下相关的资料了解一下GIL,在这里大家只要知道一点,因为GIL的存在,
对于任何Python程序,不管有多少的处理器,任何时候都总是只有一个线程在执行。
下面先看一个例子:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 5 16:12:14 2017
@author: 80002419
"""
import threading
import time
def cost(fun):##定义一个装饰器,用来计算函数运行的时间
def wrapper(*args,**kargs):
before_tm = time.time()
fun(*args,**kargs);
after_tm = time.time()
fun.__doc__
print("{0} cost:{1}".format(fun.__name__,after_tm-before_tm))
return wrapper
def fibs1(n):
if (n == 1):
return 0
elif(n == 2):
r