2016 - 2024

感恩一路有你

项目中多线程使用场景 Java中的多线程,并发知识在实际项目中的什么地方可以应用呢?

浏览量:2153 时间:2021-03-12 18:27:51 作者:admin

Java中的多线程,并发知识在实际项目中的什么地方可以应用呢?

在java开发中,多线程通常用于并行处理一些业务,如同时响应多个用户的请求,或并行启动API处理、并发数据库访问等

其优点如下:

(1)多线程提高了服务器的CPU利用率或计算机;

(2)多线程实现了并发处理能力,提高了访问能力;

(3)节省了等待带来的各种成本。最典型的应用程序,如tomcat、tomcat,是多线程的,数百个客户机访问同一个web应用程序。在Tomcat访问之后,随后的处理被抛出到一个新线程。新线程最终被调用到我们的servlet程序,比如doGet或doPost。

如果我们不使用多线程机制,当数百人同时访问一个web应用程序时,Tomcat将不得不排队等待串行处理,因此客户端根本无法忍受这种访问速度。

还需要异步处理,您需要使用多线程。例如,任务a和任务B需要并行处理,单个线程只能串行处理。首先完成任务a,然后执行任务B,如果要同时执行多个任务,必须为每个任务分配一个线程,然后通过Java虚拟机的线程调度,同时执行多个任务。例如,如果您的CPU是多核的,那么您可以让CPU执行一个线程。如果只有一个CPU,底层基于分时复用的原则,每个线程根据时间片获得CPU资源。

实际工作中,什么场景会用到多线程开发?

多线程是用来提高程序效率的。假设有一个程序,要求用户输入多个公式,计算结果,并分别打印在屏幕上。如果用户没有一直输入,就无法计算,更不用说打印了。如果用户有输入,则必须完成所有输入,然后才能计算结果并将其打印到屏幕上。

对于线程,一个用于等待用户输入,一个用于计算结果,一个用于打印。用户输入公式3时,计算线程为计算公式2,打印线程为打印公式1。三个线程同时运行,减少了等待时间,从而提高了运行效率

其中一个重要因素与操作系统和平台有关。附近有一个很好的例子。

在windows平台上,由于效率问题和缺乏并行计算方案,8核16线程在大多数情况下可能是无用的。

但是在Linux平台上是不一样的,几乎所有的科学计算或仿真软件都是基于Linux平台的,这种几十万的CPU使用太普遍了。

例如,目前所有的芯片设计软件都是在Linux平台上进行的,特别是先进技术(如7Nm)的设计极其复杂,设计规模巨大(100亿设备规模)。使用几十个或几百个cpu和简单线程运行模拟是很常见的。

所以学习一个并行计算工具或模拟软件,你会发现8核和16线程有时是不够的

项目中多线程使用场景 java项目中多线程使用场景 java多线程的应用场景

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。