当前位置: 首页 > news >正文

百度推广会帮你做网站不微信小程序购物平台

百度推广会帮你做网站不,微信小程序购物平台,温州专业网站建设推广,做seo推广公司一直学习理论怎么能不做练习呢?下面我将出几个编程题来巩固编程。 练习1: 新建三个线程,使用并发编程,同时计算三个线程的数并且输出计算的过程,线程1计算从1加到100,线程2计算50的阶乘,线程三计算根号三并且输出小数点后十位。 答案 import com.google.common.util…

一直学习理论怎么能不做练习呢?下面我将出几个编程题来巩固编程。

练习1:

新建三个线程,使用并发编程,同时计算三个线程的数并且输出计算的过程,线程1计算从1加到100,线程2计算50的阶乘,线程三计算根号三并且输出小数点后十位。

答案

import com.google.common.util.concurrent.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.MathContext;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;public class MultiThreadCalculator {// 创建监听线程池private static final ListeningExecutorService executor = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(3));public static void main(String[] args) {// 启动三个计算任务ListenableFuture<?> additionFuture = executor.submit(new AdditionTask());ListenableFuture<?> multiplicationFuture = executor.submit(new MultiplicationTask());ListenableFuture<?> sqrtFuture = executor.submit(new SquareRootTask());// 添加回调处理异常Futures.addCallback(additionFuture, new LoggingCallback(), executor);Futures.addCallback(multiplicationFuture, new LoggingCallback(), executor);Futures.addCallback(sqrtFuture, new LoggingCallback(), executor);// 等待所有任务完成ListenableFuture<?> allFutures = Futures.allAsList(additionFuture, multiplicationFuture, sqrtFuture);try {allFutures.get();System.out.println("\n所有计算任务完成!");} catch (Exception e) {e.printStackTrace();} finally {executor.shutdown();}}// 加法任务:计算1加到100static class AdditionTask implements Runnable {@Overridepublic void run() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;System.out.println("[加法线程] 添加 " + i + " → 当前总和: " + sum);Uninterruptibles.sleepUninterruptibly(50, TimeUnit.MILLISECONDS);}System.out.println("\n[加法线程] 最终结果: 1到100的和 = " + sum);}}// 乘法任务:计算2乘到50(使用BigInteger避免溢出)static class MultiplicationTask implements Runnable {@Overridepublic void run() {BigInteger product = BigInteger.ONE;for (int i = 2; i <= 50; i++) {product = product.multiply(BigInteger.valueOf(i));System.out.println("[乘法线程] 乘以 " + i + " → 当前乘积: " + product);Uninterruptibles.sleepUninterruptibly(70, TimeUnit.MILLISECONDS);}System.out.println("\n[乘法线程] 最终结果: 2到50的乘积 = " + product);}}// 开方任务:计算√3的小数点后10位数字static class SquareRootTask implements Runnable {@Overridepublic void run() {// 计算√3到小数点后20位精度BigDecimal sqrt3 = BigDecimal.valueOf(3).sqrt(new MathContext(20));String decimalPart = sqrt3.toString().split("\\.")[1];System.out.println("[开方线程] √3 完整值: " + sqrt3);// 输出小数点后10位数字for (int i = 0; i < 10; i++) {if (i < decimalPart.length()) {char digit = decimalPart.charAt(i);System.out.println("[开方线程] 小数点后第" + (i+1) + "位: " + digit);} else {System.out.println("[开方线程] 小数点后第" + (i+1) + "位: 0");}Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS);}// 只输出前10位小数String result = decimalPart.length() >= 10 ? decimalPart.substring(0, 10) : decimalPart;System.out.println("\n[开方线程] 最终结果: √3 ≈ " + result);}}// 通用回调处理static class LoggingCallback implements FutureCallback<Object> {@Overridepublic void onSuccess(Object result) {// 任务成功完成,无需特别处理}@Overridepublic void onFailure(Throwable t) {System.err.println("任务失败: " + t.getMessage());t.printStackTrace();}}
}

练习2

和练习1一样,对线程的执行顺序有要求,要求线程1执行一半时执行线程2,线程2执行一半时执行线程3,等待线程3执行完毕后再执行线程2,线程2执行完毕后执行线程1,要求分清不同线程的执行过程

答案:

package org.example;import com.google.common.util.concurrent.*;import java.math.BigDecimal;
http://www.dtcms.com/a/413697.html

相关文章:

  • 怎么弄个人网站sae wordpress 4.3
  • 网站的容量做英文网站网站犯法吗
  • 用vs2013做网站登录建站网站哪个好
  • 国外网站众筹怎做百度小说风云榜今天
  • 班级网站中个人简介怎么做什么值得买 wordpress主题
  • 电商网站有哪些功能东莞东城
  • 个人博客网站logo织梦网站如何生成伪静态
  • 自己做网站难不难百度权重站长工具
  • 大连网站建设求职简历seo视频教学网站
  • dede网站logo怎么改吴江高端网站建设
  • 央美老师做的家具网站公司申请注册流程
  • 项城市住房和城乡建设局网站wordpress模板安装方法
  • 静态化网站和app的区别网站做子页面怎么做
  • 六安网站关键词排名优化报价营销qq是什么意思
  • 透明管理系统网站模板网络建设与管理包括哪些方面
  • 网站如何做360优化网站升级中 html
  • 购物网站要求汕头网站推广排名
  • 河南网站建设公司|河南网站建设价格费用建筑设计图纸平面图
  • 手机网站改版淘宝官网首页手机版
  • 如何做营销型手机网站优化微信wordpress小工具
  • 学校的网站建设费如何入账ci框架建设网站
  • 玄天教学网站建设网站错误代码301
  • 网站服务器备案查询网站北京公司网站设计价格
  • 建站技术博客中国互联网协会会长
  • 网站单页模板下载如何做网站浏览pdf
  • 一个做问卷调查的网站好怎样建网站 步骤
  • cms管理手机网站模板北京小程序开发平台
  • 邢台建一个网站多少钱企业做产品网站费用大概是多少
  • 双流区规划局建设局网站响应式页面怎么写
  • 网站开发哪个工具网站建设用到的软件