问题
最开始使用一个for循环用requests请求15个url链接
用了线程池提交多任务还有必要在单个任务里用异步协程吗?
疑问
个人理解:用线程池和用异步协程冲突吗?两个效果好像差不多,
感觉异步协程的应用相对于同步操作而言的,而线程池可以提交很多任务,由多线程去完成。可以不可以把请求url链接这种阻塞状态的操作用异步操作,而把爬取数据的任务(里面包含了请求url)抽象为一个个单元提交给线程池,从而极大提高效率。
但是转念一想,线程池就是多线程去拿任务,而且有先后类似异步的操作(我想总不可能是几十个线程同时一起请求各自拿到任务里面的url吧!),如果不是同时那就跟异步协程的效果是一样的,那么请求url操作用异步协程会不会多余?
感觉不是同时的,因为在测试中,提交的任务完成的有先有后,T(为啥LS这个词不能用?!)讲异步协程是以单线程多任务为例的,那么我线程池把线程开多一点,理想状态一个线程拿一个任务(包含请求url),那么异步协程效率是提升不了多少的(而且写的麻烦),一定程度上来讲两者一样的(所以T是以单线程多任务为例的)。不知道理解的正不正确