900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java多线程使用业务场景_Java多线程使用场景

java多线程使用业务场景_Java多线程使用场景

时间:2021-05-05 17:16:00

相关推荐

java多线程使用业务场景_Java多线程使用场景

一、几个基本概念的区分 1.进程与程序的区分 程序 进程 包含代码部分、数据部分 包含代码部分、数据部分、进程控制块 顺序执行 并发执行 独占资源 共享资源 同步的 异步的 静态的 动态的 (本质区别) 2.线程与进程的关系 相同:线程是轻量级的进程,一个进程

使用多线程就一定效率高吗? 有时候使用多线程并不是为了提高效率,而是使得CPU能够同时处理多个事件。

使用场景1

为什么了不阻塞主线程,启动其他线程来做耗时的事情。

比如app开发中耗时的操作都不在UI主线程中做。

使用场景2

实现响应更快的应用程序, 即主线程专门监听用户请求,子线程用来处理用户请求。以获得大的吞吐量。

感觉这种情况下,多线程的效率未必高。 这种情况下的多线程是为了不必等待, 可以并行处理多条数据。

比如JavaWeb的就是主线程专门监听用户的HTTP请求,然后启动子线程去处理用户的HTTP请求。2. 终止线程的方式 Thread中的stop()和suspend()方法,由于固有的不安全性,已经建议不再使用! 下面,我先分别讨论线程在“阻塞状态”和“运行状态”的终止方式,然后再总结出一个通用的方式。 2.1 终止处于“阻塞状态”的线程 通常,我们通过“中断”方式终

使用场景3

某种优先级虽然很低的服务,但是却要不定时去做。

比如Jvm的垃圾回收。

使用场景4

某种任务,虽然耗时,但是不耗CPU的操作时,开启多个线程,效率会有显著提高。

比如读取文件,然后处理。 磁盘IO是个很耗费时间,但是不耗CPU计算的工作。 所以可以一个线程读取数据,一个线程处理数据。肯定比

一个线程读取数据,然后处理效率高。 因为两个线程的时候充分利用了CPU等待磁盘IO的空闲时间。

曾几何时想过使用多线程读取磁盘数据, 但是读取磁盘数据的性能瓶颈是IO,而不是CPU。 使用多线程的目的是为了不让CPU闲下来,明显不适合用于读取磁盘数据。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。