异步编码的一整套方案,包含了框架,提供了事件循环的功能,就是服务器功能,在部署时也可以直接部署
如果在代码中使用了同步IO(什么是同步IO:就是需要等待上一个任务完成之后才能往下执行的任务),开发效率会很低
事件循环的模式是由单线程完成的,那就如果有一个地方使用了同步IO操作,那整个所有消息都会被堵塞住
Tornado优势在于支持异步非阻塞IO模式,同步IO遇到一个耗时问题就会堵塞,影响性能
错误。线程池其实就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。这根本没办法解决根本问题。如果耗时多的任务,同样会占满所有线程。
放到线程池中能否提高效率取决于是否是异步的。所以当我们遇到耗时多,或者使用别人库耗时多,如果不是异步操作尽量自己写一个库,转成异步操作