我们知道多线程是通过star()方法让线程处于准备就绪状态,而实际运行的业务逻辑是放在run()方法体中的,但是run()方法是没有参数的方法,实际的业务场景中,我们可能需要向方法体中传递参数,下面介绍常用的两种传参方式,第三种下次再说,或者你们百度吧,这里偷个懒。

第一种方式:构造方法传参

public class CallbackCustomerTypeThread implements Runnable
{public static final Logger logger = LoggerFactory.getLogger(CallbackCustomerTypeThread.class);private BasCmCustomerType basCmCustomerType;private BasCmCustomerTypeService basCmCustomerTypeService;public CallbackCustomerTypeThread(BasCmCustomerType basCmCustomerType, BasCmCustomerTypeService basCmCustomerTypeService){this.basCmCustomerType = basCmCustomerType;this.basCmCustomerTypeService = basCmCustomerTypeService;}@Overridepublic void run(){//向金剑南同步try{basCmCustomerTypeService.syncToJjn(basCmCustomerType);}catch (Exception e){logger.info("向金剑南同步客户异常,id=" + basCmCustomerType.getId(), e);}//向水晶剑同步try{basCmCustomerTypeService.syncToSjj(basCmCustomerType);}catch (Exception e){logger.info("向水晶剑同步客户异常,id=" + basCmCustomerType.getId(), e);}}}

调用:

Runnable runnable = new CallbackCustomerTypeThread(basCmCustomerType, this);Thread thread = new Thread(runnable);thread.start();

第二种方式:通过变量或者方法传递参数

package mythread;
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();
}
} 

第三种:通过回调函数传递参数

暂时不写了,滴~~~~  下班卡

java多线程run方法传参相关推荐

  1. xsl调用java方法传参_Java中的XSL转换:一种简单的方法

    xsl调用java方法传参 XSL转换 (XSLT)是将一个XML文档转换为另一个XML文档的强大机制. 但是,在Java中,XML操作相当冗长和复杂. 即使是简单的XSL转换,也必须编写几十行代码- ...

  2. java方法的传递方式_JAVA基础--方法传参

    JAVA基础--方法传参 为啥拿这个当话题? 在初学者阶段,许多童鞋都对方法传参比较迷茫,知其然不知其所以然. 一.先说说参数传递的几个术语: 值调用(call by vale):表示方法接收的是调用 ...

  3. java方法传参机制

    核心思想: java传参只能按值调用,方法不可能修改基本数据类型的参数 方法可以改变对象参数的状态(即可以改变对象的属性,但是不可能改变对象的引用) 方法不可能让一个对象参数引用一个新的对象 /*** ...

  4. java调用python,传参json字符串,含中文传参

    java调用python,传参json字符串 python脚本内容(test.py) # -*- coding: utf-8 -*-def main(input):return input java调 ...

  5. 在android 两个类之间 get,set方法传参使用

    2019独角兽企业重金招聘Python工程师标准>>> 最近在学习android,然后碰到一个继承自LinearLayout的类需要继承自Activity布局当中的一个值,同事告诉我 ...

  6. JavaScript 方法传参

    <a href="#" onclick="sendEmail('${userId}','${userCname}')">发送</a> / ...

  7. 线程的run()方法带参情况

    首先看一下Runnable接口的源码,整个方法体里就只有一个run的抽象方法,所以才创建实现类实现该接口的时候是肯定要重写接口内的抽象方法的(也就是run()方法),按照重写规则(不能是抽象,参数要和 ...

  8. Java多线程优化方法及使用方式

    一.多线程介绍 在编程中,我们不可逃避的会遇到多线程的编程问题,因为在大多数的业务系统中需要并发处理,如果是在并发的场景中,多线程就非常重要了.另外,我们在面试的时候,面试官通常也会问到我们关于多线程 ...

  9. java调用jar并传参,Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参

    Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参 一.打包 情况1:不需要向程序传参数,并且程序没有使用第三方jar包 Eclipse上导出jar: 然后选择一个java文件作为入 ...

最新文章

  1. Linux找头文件规则,linux 头文件、库文件查找顺序
  2. ASP.NET前台代码绑定后台变量方法总结
  3. python self
  4. python软件设置代码字体的大小_PyCharm中代码字体大小调整方法
  5. 20145308刘昊阳 《Java程序设计》实验五报告
  6. 【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤
  7. Spark学习笔记:使用RDD
  8. 苹果“修复”系统过于流畅的BUG遭到制裁,被罚款近2亿!网友:罚少了!
  9. 【车道线检测与寻迹】4月17 【多方内容总结】大模块:车辆检测,车道线检测,车辆压线判别
  10. 个人小项目原型图设计(主页)
  11. 【ATSC】韩国:2017年将迎来ATSC3.0广播时代
  12. 多元线性回归算法预测房价【人工智能】
  13. snipaste滚动截图方法_截图、拼图、图像编辑太麻烦?试试这款免费截图软件
  14. 【转】PCL室内三维重建
  15. 图像增广与扩充---带有噪声的黑白裂缝图像扩充,用于裂缝检测训练
  16. 【Kafka从成神到升仙系列 六】kafka 不能失去网络通信,就像西方不能失去耶路撒冷
  17. 台式计算机如何安装6个系统?,联想台式机重装系统图文教程
  18. 报错:已处理证书链,但是在不受信任提供程序信任的根证书中终止
  19. 唤醒计算机教案,一年级语文下册教案——爱的唤醒——读写《猜猜我有多爱你》_一年级科学下册教案...
  20. python实战项目网站_python实战项目,搜索自己网站的关键词,使用代理并且模拟点击...

热门文章

  1. iHPS-3300型 超高频局放监测及温升在线监测装置
  2. 详解内存池设计与实现
  3. 利用jQuery的deferred异步按顺序加载JS文件
  4. 常用的ERP系统有哪些?ERP系统有哪些版本?
  5. erp5开源制造业erp单据编号生成策略
  6. android R版本常见dump信息分析
  7. 游戏开发性能优化经验总结
  8. 【电力电子技术DC-AC】单相双极性SPWM逆变电路 Simulink仿真
  9. android edittext 过滤英文名称,Android EditText 使用正则表达式进行输入过滤
  10. Internet Download Manager6.32(IDM)安装及破解方法[亲测有效]