from threading importThread,Lockimportrandom#锁的作用#arr = []#
##原始锁处于 "锁定" 或者 "非锁定" 两种状态之一。它被创建时为非锁定状态。它有两个基本方法, acquire() 和 release() 。当状态为非锁定时, acquire() 将状态改为 锁定 并立即返回。当状态是锁定时, acquire() 将阻塞至其他线程调用 release() 将其改为非锁定状态,然后 acquire() 调用重置其为锁定状态并返回。 release() 只在锁定状态下调用; 它将状态改为非锁定并立即返回。如果尝试释放一个非锁定的锁,则会引发 RuntimeError 异常。#
#l = Lock() # 状态默认是非锁定的#l.acquire()#
#def test1():#l.acquire() # 如果之前的锁是锁定的,再次上锁发生阻塞## 如果之前的锁是非锁定的,可以实现上锁#arr.append(random.randint(1,10))#
#t = Thread(target=test1)#t.start()#
#
#
#def test2():#arr.append(random.randint(1,0))
"""爬取豆瓣电影top250"""
#import requests#import lxml.etree as etree#urls = ["https://movie.douban.com/top250?start=%s"%i for i in range(0,226,25)]#
#class Mytest(Thread):#def __init__(self):#super(Mytest,s