处理并发,或者对某些内容分块处理,放置进程阻塞,在现在多cpu的情况下,多线程更能凸显它的优势,一堆请求进来,如果你一个个挨着处理,效率会非常低,所以你可以启动多线程, 每个线程负责一部分
多线程程序中,多个线程被并发的执行以提高程序的效率,CPU不会因为某个线程需要等待资源而进入空闲状态
实际开发中用到的不多,比如数据处理,数据量非常大,又可以分批处理的话,就可以考虑使用多线程
你发布的的一个软件或程序,可能会有很多人同时向你的服务器发送请求,或者一个请求要执行很多操作,就像一楼说的,难道要一个一个排队处理?
这样的话你自己的服务器效率没发挥出来而且请求的响应时间也会很长
多线程就可以解决这个问题,有限的为每个请求分配一些资源来处理。
一般来说当你的程序有大量数据或是数据处理很麻烦的时候可以考虑使用多线程。
多线程的用处很多 ,在编码的时候你会自然的想到的。举几个典型的例子 C/S结构的客户端和服务器端的程序就会用到多线程来处理,server会为每一个
访问的client开辟一个新的线程,这样就可以单独的处理每一个client的请求
多线程就是为了充分利用cpu资源而提出的一种技术。如果你的机器是单核cpu的,那么多线程和单线程并无实际区别;但如果你的机器是多核cpu,那么使用多线程技术可以使多核cpu并行处理进程,从而缩短程序的总体执行时间。举个实际的例子,假如你访问淘宝网站,而淘宝网站的服务器是单线程的,那么你和你的另外3个同学同时访问淘宝网站的时候,它只能响应你们中一个人的请求,另外3个人的请求在后面排队;而如果淘宝网站的服务器是多线程的,并且它的cpu核数超过了4核,那么你和你的3个同学在同一秒,以同样的网速去访问淘宝网,则你们的请求都能被淘宝网响应。
多线程一个是利用现在CPU的多核机制,可以提供并行能力
另一个是实现异步处理,不会阻塞主线程,可以提供更好的用户体验