Python进阶之前端和爬虫基础( 三 )

tasks = threadpool.makeRequests(download, [f'电影{x}' for x in range(100)])tasks2 = threadpool.makeRequests(save, [0])
pool = threadpool.ThreadPool(10)
for task in tasks2:pool.putRequest(task)for task in tasks:pool.putRequest(task)
pool.wait()
3、多线程竞争一个资源 - 线程锁(.Lock)
当有多个线程想要竞争一个资源,想要保护资源(在关键操作上只有一个线程能够访问到这个资源)就需要用到线程锁,当一个线程拿到锁的时候,其他线程只能等到该线程执行完之后释放锁,再进行争抢锁
4、遇到死锁 - 利用线程调度
当一个线程拿到锁之后,可能会死在里面,但是其他线程又没有接收到释放锁的消息,无法拿到锁,这就会造成死锁的情况,这种情况就可以利用线程调度来解决 。