public class FourThread {
static int sum11 = 0;
static int sum12 = 0;
static int sum13 = 0;
static int sum14 = 0;
static int sum = 0;
public static void main(String[] args) {
/**
* 使用4个子线程求出1到100的和,且每个子线程只能计算25个数,主线程必须等待子线程
*/
new Thread(){
public void run() {
int sum1=0;
for(int i=1;i<=25;i++){
sum1+=i;
}
sum11 += sum1;
System.out.println(Thread.currentThread().getName() + " " + sum11);
};
}.start();
new Thread(){
public void run() {
int sum2 = 0;
for (int i = 26; i <= 50; i++) {
sum2 += i;
}
sum12 += sum2;
System.out.println(Thread.currentThread().getName() + " " + sum12);
};
}.start();
new Thread(){
public void run() {
int sum3 = 0;
for (int i = 51; i <= 75; i++) {
sum3 += i;
}
sum13 += sum3;
System.out.println(Thread.currentThread().getName() + " " + sum13);
};
}.start();
new Thread(){
public void run() {
int sum4 = 0;
for (int i = 76; i <= 100; i++) {
sum4 += i ;
}
sum14 = sum4;
System.out.println(Thread.currentThread().getName() + " " + sum14 );
};
}.start();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sum = sum11 + sum12 + sum13 + sum14;
System.out.println( "sum: " + sum);
}
}
相关推荐
C#多线程编程 四个显示线程计算结果的函数
从属线程需要随时将中间结果先是在主界面上,鉴于控件总是由主执行线程所有,从属线程中对控件的任何调用都需要“封送处理”调用。 封送处理是跨线程边界移动调用的行为,需耗费大量的资源。为使需要发生的封送处理量减到最少,并确保以线程安全方式处理调用, 应使用Control.BeginInvoke或Control.Invoke方法来调用主执行线程上的方法,从而使必须发生的跨线程边界的封送处理量减到最少。
我总结的18种1至100的求和方法(使用C++语言)
<br />#include<iostream><br />using namespace std;<br />int main(){<br />{int sum=0;for(int i=1;i<=100;i++){sum=sum+i;}cout<<sum<<endl;system("pause");}<br /><br />{int sum=0;for(int i=100;i>=1;i--)sum+=i;cout<<sum<<endl;system("pause");}<br /><br />{int s
基于ESP32-S3与模块化设计的立创桌面充电站:从硬件架构到Web控制实战
本文详细介绍了基于ESP32-S3与模块化设计的立创桌面充电站项目,涵盖从硬件架构到Web控制的全流程实战。项目采用模块化设计,支持自由组合快充模块,并通过ESP32-S3实现智能监控,用户可通过本地网页实时查看各接口电压、电流与功率数据。文章重点解析了基板、连接板与充电模块三大核心部件的设计,特别是大电流PCB的“开窗贴铜”处理技巧,并提供了固件刷写与Web控制面板的配置指南。
多线程计算1~100的和
/** *分段计算1~100的和 * * 要求分为:0~25,25~50,50~75,75~100同时计算 */ package com.qf.demo01; //导的包 import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent...
微信小程序后台定位与实时位置更新的实战指南
本文提供了微信小程序实现后台定位与实时位置更新的完整实战指南。针对小程序退到后台后位置更新中断的痛点,详细解析了基于`startLocationUpdateBackground`API的后台定位解决方案。内容涵盖从隐私协议配置、项目权限声明,到授权、启动、监听、停止的核心代码流程,并分享了真机调试、性能优化及权限引导等关键避坑经验,帮助开发者构建稳定可靠的后台位置服务。
生存分析机器学习问题
然而,随着人工智能 (AI) 和机器学习 (ML) 的兴起,科学家现在能够开发更复杂的模型,揭示这些数据集中的模式和特征,从而为癌症的生物学、诊断、预后、治疗和预后提供新的见解。病情更重的患者可能接受更强(或更弱)的治疗,导致治疗方案与不良预后(死亡)强相关。数据集中包含失访或研究结束时仍存活的患者(删失数据),他们的真实生存时间未知,仅知道其存活时间不低于观察到的最后一次随访时间。优先选择参数少、结构简单的模型(如带强正则化的线性模型、简单树模型),避免复杂模型(如深度神经网络)。时刻的状态是未知的。
VC++多线程编程
VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好. 一、问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为 “延时6秒”,添加按钮的响应函数,代码如下: void CSingleThreadDl...
告别单一帧:在CFD-POST中完整加载Fluent瞬态计算结果的实战指南
本文详细介绍了在CFD-POST中完整加载Fluent瞬态计算结果的实战指南,解决工程师常见的只能看到最后一帧数据的问题。通过Fluent端的正确设置和CFD-POST端的完整加载技巧,帮助用户高效处理瞬态数据,提升后处理效率。文章还提供了常见问题排查、性能优化和高级后处理技巧,适用于Workbench环境下的流体流动分析。
C/C++求1~100和的多种方法
1、do-while2、while3、go to。
YOLOv8【第一章:基础入门篇·第2节】一文搞定,数据集制作与标注完全指南!
🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏,该专栏专注于分享我在YOLOv8目标检测模型中的实战经验,涵盖从入门基础到深度优化的全方位解决方案。无论你是计算机视觉的新手,还是具有多年深度学习经验的专家,本专栏都将为你提供高效、可复现的技术方案,助你掌握YOLOv8的核心技术,提升目标检测性能,突破瓶颈,优化模型,并加速项目开发🚀!
基于MATLAB编程的LSTM的时间序列预测
时间序列预测,回归分析,LSTM详细原理
(Python)在子线程中使用Matplotlib进行绘图(100%解决问题)
想要主程序进行数据实时监控,子线程进行数据查找并通过Matplotlib进行绘制,却惨遭报错
选课系统进不去?我用 Python 做了个“捡漏挂机”脚本,全自动监控空余名额
频率控制:脚本请求频率不要太高(建议间隔 3-5 秒以上),否则可能被教务系统封 IP,甚至会被教务处请喝茶。仅供学习:本文旨在通过选课场景教学requests和网络抓包原理,请勿用于非法用途或破坏公平性。刷新页面 -> 等待加载 -> 用眼睛看人数 -> 没满?-> 点击选课 -> 确认这个流程最大的瓶颈在于**“等待加载”和“人的反应时间”**。网页加载需要渲染 HTML、CSS、图片,而 Python 脚本只需要请求一个微小的 JSON 数据接口,速度是浏览器的10 倍以上。fill:#333;
Linux C多线程编程:主线程等待子线程详解
深入讲解Linux下C语言多线程编程,涵盖线程创建、等待、分离、互斥锁、信号量与条件变量等核心技术,重点解析主线程如何通过pthread_join等机制正确等待子线程结束,避免资源泄漏。
ParaView :在paraview创建渲染视图
ParaView :在paraview创建渲染视图
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
PyQt5学习笔记:子线程与子线程之间数据传输,利用主线程实现(包括主线程传给子线程参数实现)
今天想要实现子线程与子线程之间参数的传送,而且是要实现动态传参,上网搜了好久,然后又自己尝试,结果发现实在不知道如何直接实现两个子线程之间参数的传递(利用实例化时参数无法实现动态传参),使用信号与槽机制结果传到另一个线程里的不知道是啥。最后采用了子线程->主线程->子线程的思路。 这里需要搞明白信号发送与接受,还有主线程动态传参到子线程。首先看一下界面: 我想要实现label标签内的数字随着进度的变化而变化,利用线程实现(当然有更简单的方法,这里仅是为了了解线程)。 建立两个线程类:.
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
用JOIN实现子线程与主线程之间的同步
题目来源:学堂在线_清华大学_JAVA程序设计进阶 题目描述: 之前的同步是在子线程之间进行。 我们强制要求每一个线程都将结果写入同一个变量。 因此如果子线程在访问该变量时没有进行同步操作,结果几乎必然出错。 学员应该会观察到在前次作业中,我们只简单的令主线程休眠300毫秒,然后输出结果。 结果之所以正确,是因为我们预估到300毫秒以内,所有的子线程必然均已完成。 从原理上来说...
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
鸿蒙中 子线程切换到主线程的方式
本文分析了在开发中UI操作必须限定在主线程执行的原因,主要包括线程安全、框架架构限制和系统稳定性要求。文章详细列举了子线程操作UI的风险表现,并提供了四种切换到主线程的方法:TaskPool自动回调、TaskDispatcher线程调度、Emitter事件通信和Worker线程消息传递。每种方法都说明了适用场景和执行特性,强调了大数据传输和UI组件引用的注意事项。最后总结比较了各方式的差异,帮助开发者正确处理线程间的UI更新问题。
Qt子线程调用定时器
文章目录前言一、不指定父对象实例化线程和定时器变量二、线程间通过信号和槽的方式传数据总结 前言 Qt作为人机交互界面开发的主流工具,在工业控制领域也得到了广泛的应用。工业控制中,需要对大量的实时数据读取、显示、计算和保存,在一个线程中实现这些功能,很有可能会造成界面卡死的情况。本文介绍一种不需要重写子线程类的简单方法,希望能给读者一些启发。初学Qt,还在摸索中,所说内容难免有错误和不准确的地方,请大家多多指教。 编译环境:Qt5.9.8 Qt Creator 4.8.2 (32位) 一、不指定父对象实
Java多线程/并发07、Thread.Join()让调用线程等待子线程
开始之前,有几点要理解的: 1、当程序运行的时侯,系统默认开启了一个主线程(假设命名mainThread)。通常我们在Main()函数中定义主线程的工作。 2、可以在Main()函数中启动多个子线程:Thread-1,Thread-2,Thread-3等。 3、主线程有可能比子线程先结束运行。第三点是关键,这也是要用到join()方法的一个重要原因,因为有时侯我们希望主线程等待子线程执行完成之
python线程的注意点(线程之间执行是无序的、主线程会等待所有的子线程执行结束再结束(守护主线程)、线程之间共享全局变量、线程之间共享全局变量数据出现错误问题(线程等待(join)、互斥锁))
python线程的注意点 1. 线程的注意点介绍 线程之间执行是无序的 主线程会等待所有的子线程执行结束再结束 线程之间共享全局变量 线程之间共享全局变量数据出现错误问题 2. 线程之间执行是无序的 import threading import time def task(): time.sleep(1) print("当前线程:", threading.current_thread().name) if __name__ == '__main__': for
java主线程结束和子线程结束之间的关系
java主线程结束和子线程结束之间的关系 你应该换成main函数运行,abcd就一定会打印出来了问题并不是出在主线程和子线程身上,事实上Java似乎也没有严格主线程和子线程的概念,取而代之的是普通线程和后台线程但是这里你采用@Test来运行代码,而@Test是JUnit测试框架使用的注解,JUnit在进行单元测试的时候,...
c++ 等待子线程结束_java 阻塞等待子线程结束的几种方式
导语java主线程等待一个或多个子线程结束具有十分广泛的应用,比如在合并计算结果或方法中都具有非常重要的意义,那么我们今天就来总结一下,到底有多少种方法能够实现。这就是最全,没有更全1.join方式join方式非常的简单易懂,但是实现起来代码结构糟糕,不推荐使用joinpublic final void join() throws InterruptedException Waits for th...
QT中子线程触发主线程弹窗并阻塞等待用户响应-传统信号槽实现
QT中子线程触发主线程弹窗并阻塞等待用户响应:在子线程执行耗时任务时,需暂停并触发主线程弹窗获取用户决策,子线程需阻塞等待响应后继续执行或终止。
Thread:主线程等待多个子线程执行完毕再执行的问题(CountDownLatch和FutureTask)
前言: 最近项目有个新的需求,大致意思是,前端发给我一系列ip(上千个),需要我远程调用其他微服务,通过ip得到我所需要的返回结果。由于数量过大,不能一次性将1000个ip都去调用其他微服务接口,可能会出现问题,并且性能也不会太好,所有我选择了多线程,那线程池就得来一波了(同学们可以去了解一下呀 比如线程池参数呀!!!!)。 多线程请求远程,每次的结果我最后得统一返回给前端吧。那就得等所有的子...
7562



被折叠的 条评论
为什么被折叠?



