java中如何给Runnable线程传递参数?
2023-09-27 14:21:31 时间
一、通过构造函数传递参数
public class MyThread1 extends Thread { private String name; public MyThread1(String name) { this.name = name; } public void run() { System.out.println("hello " + name); } public static void main(String[] args) { Thread thread = new MyThread1("world"); thread.start(); } }
二、通过变量和方法传递数据
public class MyThread2 implements Runnable { private String name; public void setName(String name) { this.name = name; } public void run() { System.out.println("hello " + name); } public static void main(String[] args) { MyThread2 myThread = new MyThread2(); myThread.setName("world"); Thread thread = new Thread(myThread); thread.start(); } }
三、通过回调函数传递数据
class Data { public int value = 0; } class Work { public void process(Data data, Integer numbers) { for (int n : numbers) { data.value += n; } } } public class MyThread3 extends Thread { private Work work; public MyThread3(Work work) { this.work = work; } public void run() { java.util.Random random = new java.util.Random(); Data data = new Data(); int n1 = random.nextInt(1000); int n2 = random.nextInt(2000); int n3 = random.nextInt(3000); work.process(data, n1, n2, n3); // 使用回调函数 System.out.println(String.valueOf(n1) + "+" + String.valueOf(n2) + "+" + String.valueOf(n3) + "=" + data.value); } public static void main(String[] args) { Thread thread = new MyThread3(new Work()); thread.start(); } }
相关文章
- com.esotericsoftware.kryo.kryoexception java.util.ConcurentModificationException
- 《Java创建对象类型数组的三种方式》
- 如何创建、启动 Java 线程?
- docker上java进程假死(线程blocked),org.apache.logging.log4j.core.layout.TextEncoderHelper.copyDataToDesti...
- 干货 | 教你如何监控 Java 线程池运行状态
- Java线程中yield与join方法的区别
- JAVA-应用easyui
- Java线程同步
- java 多线程 4 线程池
- 《Java程序员面试秘笈》—— 1.7 等待线程的终止
- Java并发编程:线程池的使用
- Java并发实现线程阻塞原语LockSupport
- java三大循环结构
- java基础day14---static关键字-----继承
- Java学习-077-多线程10:线程资源同步问题实例演示
- 『Java练习生的自我修养』java-se进阶³ • 线程的等待与唤醒
- java使用Poi-tl生成word处理特殊符号方框带勾选
- Java线程安全队列Queue实现原理
- at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:)
- JAVA编程思想(2) - 操作符(二)
- Java小白入门200例87之Java重写
- java获取异步线程执行结果示例,也是Executors框架的基本原理