多线程函数,实现以不阻塞多线程的方式从一个指定网页抓取网页链接
分类 "Python" 下的文章
实现了锁,并且自定义队列的大小,排列往队列中写入数据并且按先后顺序取出执行
使用Thread对象的Lock和RLock可以实现简单的线程同步,这两个对象都有acquire方法和release方法。对于每次只允许一个线程操作的数据,可以将操作放到acquire和release方法之间。多线程的优势在于可以同时运行多个任务,但当线程需要共享数据时,可能存在数据不同步的问题。
从Thread派生一个子类,创建这个子类的实例,子类化Thread类,MyThread子类的构造函数一定要先调用基类的构造函数,特殊函数__call__()在子类中,名字要改为run()。在MyThread类中加入一些用于调试的输出信息,把代码保存到MyThread模块中,并导入这个类。使用self.func()函数运行这些函数,并把结果保存到实现的self.res属性中,创建一个新函数getResult()得到结果。
创建一个Thread的实例,并传给它一个可调用的类对象