如何开启一个新的线程

为了不影响主业务场景的运行速度,我们经常开另外一个线程去做辅助的工作。如下,做一个记录。

在一个方法中开辟一个新的线程类:

向新的线程类中传递一个zznm参数。

Runner run = new Runner(zznm);// 组织内码// 这里new了一个线程类的对象出来
Thread thread = new Thread(run);// 要启动一个新的线程就必须new一个Thread对象出来,这里使用的是Thread(Runnabletarget) 这构造方法
thread.start();// 启动新开辟的线程,新线程执行的是run()方法,新线程与主线程会一起并行执行

新的线程类的实现:

利用构造方法进行参数的接受。

	class Runner implements Runnable {
		String zznm;
		  public Runner(String zznm) {
		        this.zznm = zznm;
		    }
		public void run() {
			SMSCode sms = null;
			String sysl = "0";
			// 查询短信剩余条数
			List mesNum = smsSendDao.getSmsMessageNum(zznm);
			if (mesNum != null && mesNum.size() != 0) {
				Map tempMap = (HashMap) mesNum.get(0);
				sysl = (String) tempMap.get("KDDXSL_SYSL");// 获取单位短信剩余数量
			}
			// 短信数量是否够未来10天用的
			// 查询前三天使用短信数量
			String threeDayNum = smsSendDao.getSmsSendHistory(zznm);
			if (!threeDayNum.equals("0")) {
				int numDay = Integer.parseInt(sysl) / (Integer.parseInt(threeDayNum) /3);
				if (numDay < 10) {
					// 今日是否给工作人员发送短信
					List<Map<String,Object>> smsSendType4List =             
                   smsSendDao.getSmsSendType4History(zznm);
					if (smsSendType4List != null && smsSendType4List.size() != 0) {
						// 今天已经提醒过管理员,不再进行提示
					} else {
						Map<String, Object> paraMap = new HashMap<String, Object>();
						paraMap.put("zznm", zznm);
						String lkdh = null;
						List<Map<String, Object>> lkxx = smsSendDao.getLkxx(paraMap);
						if (lkxx != null && lkxx.size() != 0) {
							Map<String, Object> map = lkxx.get(0);
							lkdh = (String) map.get("KDJBXX_LXFS");
						}
						// 给工作人员发送短信sendDxsyl
						sms = smsInterface.sendDxsyl(lkdh, sysl, zzmc);
						if (SMSUtils.SEND_SUCCESS.equals(sms.getStatus())) {
							// 保存短信发送历史记录,并更新短信可用剩余数量
							SMSSendHistory(sms, lkdh, "4", zznm);
						} else {
							// 发送短信失败
							sms = new SMSCode();
							sms.setStatus(SMSUtils.SEND_FAILED_UNKNOWN);
							// return sms;
						}
					}
				}
			}
		}
	}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值