java多线程应用场景

                                       java多线程应用场景

多线程是基于一个进程的多个执行过程。多线程貌似是提高了处理机的处理速度。实际是这样么?

假设我们要做一万次for循环,有十个线程,每个线程做1000次。那么多线程会比单线程执行的快么。

针对单核cpu来说,单线程是最快的。因为多线程并不是真正意义上的多个一起运行。而是每个进程都在一定时间片占用cpu。

到时间就会放弃处理机,而切换进程也需要时间,所以整理上来说还是单线程时间快。

那么我们什么时候用多线程呢?

我们在处理一个网络请求的过程的时候可能花了2ms,而我们实际处理的时间大概只有0.002ms,剩下的都是等待网络传输的时

间。这段时间是被这个进程占用的,这时候我们就需要让该进程的其他线程占用处理机,多线程这时候便起到了作用。

还有就是我们在搭建一个网站的时候,用户向我们发请求,不同的用户需要开启一系列不同的线程来相应每个用户的请求。

多线程又得到了应用。用户发的请求如果是1k的话,服务器这边就需要1m甚至更多的开销来满足用户的需求,对服务器端的开销还

是很大的。所以我们服务器如果太多的人访问的话就会崩溃。而对于淘宝这样的大网站都是有专门的服务器先存起来用户的请求,

然后再把请求给server服务器处理。当然需要很多成本。但相对于利润,成本还是值得的。

总结:多线程是为了实现业务或者性能才会运用的到。

猜你喜欢

转载自blog.csdn.net/qq_43279637/article/details/84147231