线程问题-一个线程怎么调用另一个线程的结果(2)

 1 public class Job1{
 2     public static void main(String[] args){
 3         //ThreadClass t=new ThreadClass();
 4         //RunnableClass r=new RunnableClass();
 5         Sums s=new Sums();
 6         ThreadClass t1=new ThreadClass(s);
 7         //Thread t1=new Thread(new ThreadClass(s));
 8         Thread r1=new Thread(new RunnableClass(s));
 9         r1.setDaemon(true);
10         t1.start();
11         r1.start();
12     }
13 }
14 class Sums{
15     public int sum;
16     public void calculate(){
17         for(int i=1;i<100;i++){
18             try{Thread.sleep(100);
19             sum+=i*i;}catch(Exception e){
20                 System.out.println(e);
21             }
22         }
23     }
24     public int getSum(){
25         return sum;
26     }
27 }
28 class ThreadClass extends Thread{
29     private Sums s;
30     public ThreadClass(Sums s){
31         this.s=s;
32     }
33     public void run(){
34         s.calculate();
35     }
36 }
37 class RunnableClass implements Runnable{
38     private Sums s;
39     public RunnableClass (Sums s){
40         this.s=s;
41     }
42     public void run(){
43     for(int i=0;i<100;i++){
44         try{Thread.sleep(300);
45         System.out.println(s.getSum());}catch(Exception e){
46             System.out.println(e);
47         }
48     }
49     }
50 }

这个例子说明线程是可以传递资源的(资源是一个类实例),这样就可以在线程中调用这个实例的方法。希望大家多提提建议!谢谢撒!

转载于:https://www.cnblogs.com/teng-IT/p/4443060.html

浅谈多线程异步调用获取结果集的几种方式 阅读详情

相关推荐

Win32线程——在某个线程内终止另一个正在运行的线程(1)

《Win32多线程程序设计》–Jim Beveridge & Robert Wiener 对于多线程程序,如果用户企图结束程序(主线程)时,子线程尚未完成工作,怎么办? 结束一个线程,听起来好容易,但是结束程序必须按次序进行,以避免发生 race conditions。让程序依次序进行是非常重要的,特别是在程序要结束之前。结束一个程序就好像拆除一栋建筑物一样,在你以推土机轧平它之前,你

SangYang 6077

线程(一)------线程入门

1.一个程序至少有一个进程,一个进程至少有一个线程,进程可以理解成线程的容器。 2.进程在执行中拥有独立的内存单元,而多个线程共享内存,从而极大提高了程序的运行xiaol。 3.线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口,顺序执行序列和程序的出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个现场执行控制。 4.进程是具有一定独立功能的程序关...

Lzs1998的博客 341

cut&tag学习笔记

上图是我得到的结果,下图是教程的结果,比对结果有一些差异,我也不知道具体原因是啥。谷歌了一下,发现原因可能是因为环境变量的问题,系统不知道picard的具体位置,需要设置全局环境变量,遂查了一下picard的位置。我发现我做出来的结果测序深度一致,但是比对的结果有一点差异,不知道是我的操作问题,还是参考基因组更新了导致比对结果出现了些许不同。上图是我得到的结果,下图是教程的结果,除了IgG_rep1外比对结果一致。上图是我的结果,下图是教程的结果,结果不太一致,不知道是具体的原因是什么。

weixin_52073820的博客 2425

主线程获得子线程中数据

场景:一个线程继续执行,需要另一个线程执行完 方法一 public static void main(String[] args) { Thread thread = new Thread(() -> { System.out.println("当前线程"+Thread.currentThread()+"开始"); try { Thread.sleep(2000); } catch (InterruptedExceptio

fenkanghong9779的博客 1805

告别Win11睡眠假死:深入解析Modern Standby S0与S3冲突及注册表修复方案

本文深入解析了Windows 11中Modern Standby(S0)与传统睡眠(S3)模式的冲突,该冲突是导致电脑睡眠后出现假死、断网等问题的根源。文章提供了通过修改注册表键值(PlatformAoAcOverride)强制启用稳定S3睡眠的终极修复方案,并附有详细诊断步骤与避坑指南,帮助用户彻底解决睡眠故障。

ol789012的博客 823

Prometheus-2.53.1安装

Prometheus+Grafana安装

qlj062127的博客 1788

【java】3-获取线程引用与线程的属性

Thread.currentThread()方法获取当前线程实例的引用并获取线程的一系列属性

DanteKing的博客 896

eNSP网络构建—建立小型局域网

企业私有网络构建运维 实战案例——使用模拟器构建局域网络 案例分析 1.架构分析 (1)需求分析 本实验的目的在于建立小型局域网。由于公司由不同部门组成,并分布在不同地点,因此需要划分不同网络实现互联互通。设计以下网络:两个部门各使用一台交换机连接,然后连接到总交换机,再通过路由器与外网以及其他部门网络相连。为了控制网络上的广播风暴,增加网络的安全性,在交换机上需要设置VLAN,在路由器与交换机之...

_ 4万+

线程问题—一个线程怎么调出另外一个线程的结果。

问题:建两线程,线程1进行计算1*1+~+99*99,线程2打印出线程1名字,每隔段时间读取一次线程1的计算结果? 1 public class Other{ 2 public static volatile int sum; 3 public static void main(String[] args){ 4 Thread t...

aixirang3421的博客 516

【分子指纹】化学分子指纹的概念和应用(非常重要)

分子指纹(Molecular fingerprints)可以低计算成本的方式表示大规模化学数据集中化合物的化学(结构、物理化学等)性质。它们在将化学数据集中的分子转换为适合于计算方法的一致输入格式(bit向量或数值)方面发挥着重要作用。在这篇综述中,

DJJ5210的博客 1万+

VL53L1X移植到STM32实战记录,使用软件IIC(附源代码)

序言 VL53L1X是一个很小又很优秀的测距传感器,它相比于上一代VL53L0X有着不小的提升,这次毕业设计打算将这个传感器用起来,就来移植了一下,遇到的坑怎么说还是有一些,故在此分享给大家。 开发环境 IDE:Keil V5 STM32CubeMX ,使用HAL库 具体操作 获取官方库并进行移植 这一步是移植的基础,首先从官方把API库下下来,并添加到IDE中: 适配硬件 这里由于不同的硬件平...

wmdscjhdpy的博客 1万+

java多线程获取数据的几种方式

上面我们列举的几种获取多线程执行结果的方式,都是通过不同技术方法来实现的,而生产者消费者模式本身跟你运用的技术实现没有太多关系,接触过多线程开发的同学应该都有所了解; 生产者消费者模式如下图所示 生产者消费者模式是一种能够解耦与同步生产线程、消费线程、数据集合的多线程设计模式,一个或一组生产者线程负责向数据队列中生产数据,也就是线程执行结果;另外一个或一组消费者线程负责消费处理数据队列中的数据,生产者线程与消费者线程相互之间并没有直接的关联,数据的交互都是通过数据队列,通过这种模式能够很好的在一定程度上

ZHANGHUI3239619的专栏 3121

第十届MathorCup高校数学建模挑战赛-B题:养老服务床位需求预测与运营模式研究

当养老床位数增加时存在的商机,提出了相应的养老服务床位的运营商业模式。就业的可能性,建立多目标规划模型,尽可能同时满足三方面的要求。务床位的需求、制定合理的养老服务床位发展规划,是构建和谐社会、幸福社会。问题一的床位需求与市场类型的分类结果,查找关于国内养老院的相关数据,探。求,又能持续发展养老事业,同时还能促进社会就业的养老服务床位运营的商业。养老服务床位数的增加能够带来的就业方面因素的影响,并对这些因素进行一个。你们的模型及其结论为科学依据,对政府管理部门针对养老床位规划提出合理的。

getusushu的博客 1140

java notify 一个线程调用notify方法无法唤醒另一个线程的问题

类似一 一个读写锁的问题,代码如下,目的是先输出10次A, 再输出十次B,结果是有时候运行正常,大部分时候线程B无法被唤醒。 public class Test { public static void main(String[] args) { Object lock = new Object(); new A(lock).start(); ...

bo_Wen_h的博客 1410

Python爬虫实战:构建高可用静态网页爬虫 - 以 Quotes 网站数据采集为例!

我长期专注 Python 爬虫工程化实战,主理专栏 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 462

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何拿到另一个线程的执行结果

无论是工作还是面试中都会有人问起一个线程如何拿到另一个线程的执行结果或者主线程如何捕获其他线程抛出的异常。首先要知道的是正常情况下外部线程通过try catch是无法捕获其他线程抛出的异常的。这主要是因为线程和线程之间是独立的,他们有各自的栈空间,一个线程抛出的异常只在自己的栈空间中,不会被其他线程共享。 接下来先验证一下上面的结论: public static void main(String[] args) throws Exception { ThreadPoolExecuto

weixin_38965431的博客 839

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Redisson 如何实现一个线程解除另一个线程的锁?

Redisson 的分布式锁通过 Redis 和 Lua 脚本实现了灵活的解锁机制,允许一个线程解除另一个线程的锁。结构和 Lua 脚本实现了分布式锁的解锁机制,允许一个线程解除另一个线程的锁。中,一个线程无法直接释放另一个线程的锁,因为锁与线程绑定,具有严格的所有权机制。然而,在分布式锁场景中,锁通常存储在 Redis 中,锁的状态与线程无关,而是通过键值对和标识符管理。数据结构存储锁信息。锁的键包含锁名称,而值通常是一个哈希表,记录锁的持有者(线程标识)、重入次数等信息。Redisson 的分布式锁(

2505_90729871的博客 1206

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java 多线程, 在一个方法中启用一个新线程调用其他方法

public class MyTest { public static void main(String[] args) throws Exception { String result = method(); System.out.println("main方法调用method,得到了结果"+result+":"+new Date().toLocaleString()); } public static String method(){ .

91奔跑的蜗牛 7352

java 在一个线程中启动另一个线程_JAVA:在一个线程中启动另外一个线程

##常见package hellojava;import java.util.logging.Level;import java.util.logging.Logger;public class HelloJava {static class TestTask implements Runnable {private String taskName;public TestTask(String t...

weixin_42360285的博客 2045

随缘笔记——一个线程不能释放另一个线程的ReentrantLock锁

ReentrantLock可重入锁 大概解析一下ReentrantLock可重入锁,具体的描述网上很多大神有更加详细切专业的解答。 可重入锁即你可以对一个线程加10(最大是2147483647,int的最大值)把锁,但是你在释放锁的时候同样也要释放这10把锁。 发现问题 在学习ReentrantLock时写一段这样的代码: public class Reentrant_Demo { static Lock lock = new ReentrantLock(); public static

Judy_zzd的博客 1050

JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。

编写程序实现如下功能:一个线程进行如下运算12+23+34+……+1920,而另一个线程则每隔一段时间读取前一个线程的运算结果。 class Count{ private int sum; Count(int sum){ this.sum=sum; } void add(int i) { sum+=i*(i+1); } int getsum(){ return sum; } } class CountThread implements Runnable{ private Co

z2431435的博客 3022

WPF 委托刷新UI线程(System.InvalidOperationException: '调用线程无法访问此对象,因为另一个线程拥有该对象。')

跨线程调用UI控件时会出现无法访问对象的错误 用委托实现跨线程调用 调试结果: Solution Explore: MainWindow.xaml <Window x:Class="委托刷新UI线程.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2

Empty_Android的博客 5132

【代码】线程同步条件变量的简单应用:让一个线程等待另一个线程

在项目中,遇到一个问题:两个线程同时执行视觉检测任务,但是先完成的线程要等待后完成的线程的检测结果,两个线程再同时进行下一轮检测。 大概流程是:线程1、线程2(随便哪个先开始都行),但是线程1先干完活,要等着没干完活的线程2 ...

阿卧鹅 1148

Java多线程API调用并接受处理结果

最近一直学习多线程知识苦于没有机会运用到实际项目中,不过今天接到一个需求:请求发送多个第三方api请求,组合这些请求的返回结果返回给前端调用。如果说写for循环,单个请求结束后再继续调用下一个请求(自己想一想都蠢)。实在是体验效果不佳,需要优化api请求查询时间。 这里就能采用多线程异步请求多个Api,拿到所有结果后组合返回即可。话不多说,show code! @Test publ...

wantLight的博客 2370
上一篇: 线程问题—一个线程怎么调出另外一个线程的结果。
下一篇: java中线程的控制
aixirang3421
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值