page contents
王昭君
王昭君

性别: 北京 - 北京市 注册于 2022-09-13

向TA求助
2080金币数
4990 经验值
0个粉丝
主页被访问 4260 次

63 个回答

0 赞同

什么是原子操作?在 Java Concurrency API 中有哪些原子 类(atom...

原子操作(atomic operation)意为”不可被中断的一个或一系列操 作” 。处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的 原子操作。在 Java 中可以通过锁和循环 CAS 的方式来实现原子操 作。 CAS 操作——Compare & Set,或是 Compare & Swap,现在 几乎所有的 CPU 指令都支持 CAS 的原子操作。...

回答于 2022-10-25 14:04

0 赞同

你知道怎么创建线程池吗?

创建线程池的方式有多种,这里你只需要答 ThreadPoolExecutor 即 可。 ThreadPoolExecutor() 是最原始的线程池创建,也是阿里巴巴 Java 开发手册中明确规范的创建线程池的方式。

回答于 2022-10-25 14:04

0 赞同

Executors 和 ThreaPoolExecutor 创建线程池的区别

《阿里巴巴 Java 开发手册》中强制线程池不允许使用 Executors 去 创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写 的同学更加明确线程池的运行规则,规避资源耗尽的风险 Executors 各个方法的弊端:  newFixedThreadPool 和 newSingleThreadExecutor: 主要问题是堆积的请求处理队列可能会耗费非常大...

回答于 2022-10-25 14:03

0 赞同

什么是线程组,为什么在 Java 中不推荐使用?

ThreadGroup 类,可以把线程归属到某一个线程组中,线程组中可以 有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构 有点类似于树的形式。 线程组和线程池是两个不同的概念,他们的作用完全不同,前者是为 了方便线程的管理,后者是为了管理线程的生命周期,复用线程,减 少创建销毁线程的开销。 为什么...

回答于 2022-10-25 14:03

0 赞同

线程池中 submit() 和 execute() 方法有什么区别?

接收参数:execute()只能执行 Runnable 类型的任务。submit()可以 执行 Runnable 和 Callable 类型的任务。 返回值:submit()方法可以返回持有计算结果的 Future 对象,而 execute()没有 异常处理:submit()方便 Exception 处理

回答于 2022-10-22 14:20

0 赞同

在 Java 中 Executor 和 Executors 的区别?

 Executors 工具类的不同方法按照我们的需求创建了不同 的线程池,来满足业务的需求。  Executor 接口对象能执行我们的线程任务。  ExecutorService 接口继承了 Executor 接口并进行了扩 展,提供了更多的方法我们能获得任务执行的状态并且可 以获取任务的返回值。  使用 ThreadPoolExecutor 可以创建自定义线程...

回答于 2022-10-22 14:19

0 赞同

什么是 Executor 框架?为什么使用 Executor 框架?

Executor 框架是一个根据一组执行策略调用,调度,执行和控制的异 步任务的框架。 每次执行任务创建线程 new Thread()比较消耗性能,创建一个线程是 比较耗时、耗资源的,而且无限制的创建线程会引起应用程序内存溢 出。 所以创建一个线程池是个更好的的解决方案,因为可以限制线程的数 量并且可以回收再利用这些线程...

回答于 2022-10-22 14:19

0 赞同

线程池都有哪些状态?

 RUNNING:这是最正常的状态,接受新的任务,处理等待队列中 的任务。  SHUTDOWN:不接受新的任务提交,但是会继续处理等待队列中 的任务。  STOP:不接受新的任务提交,不再处理等待队列中的任务,中断 正在执行任务的线程。  TIDYING:所有的任务都销毁了,workCount 为 0,线程池的状 态在转换为 TIDYING 状...

回答于 2022-10-22 14:19

0 赞同

线程池有什么优点?

 降低资源消耗:重用存在的线程,减少对象创建销毁的开 销。 提高响应速度。可有效的控制最大并发线程数,提高系统 资源的使用率,同时避免过多资源竞争,避免堵塞。当任 务到达时,任务可以不需要的等到线程创建就能立即执 行。  提高线程的可管理性。线程是稀缺资源,如果无限制的创 建,不仅会消耗系统资源,还...

回答于 2022-10-22 14:18

0 赞同

什么是线程池?有哪几种创建方式?

在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对 象要获取内存资源或者其它更多资源。在 Java 中更是如此,虚拟机 将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以 提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次 数,特别是一些很耗资源的对象创建和销毁,这就是”池化资...

回答于 2022-10-22 14:18