java 多线程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 多线程相关的知识,希望对你有一定的参考价值。

需求是我要调用三次外面接口,然后每个接口都有返回值,第一次调用接口时,等待它的返回值,如果超时(假设5秒),则重复调用,如果三次超时则报接口异常,如果正确返回则接着调用第二个接口,依次这样执行,请问一下用什么技术实现好,用线程的话应该怎么实现这个逻辑?求大神细细详述。

按你说的应该是单线程,可参考下面代码

public static void main(String[] args) throws Exception 
for(int i=0;i<3;i++)
//调用第i个接口
int count = 0;//失败次数
while(count < 3)
        //线程方式调用接口
Thread thread = new Thread();
thread.start();
try 
//等待5秒
Thread.sleep(5 * 1000);
 catch (InterruptedException e) 
e.printStackTrace();

if(thread.isAlive())//判断线程是否执行完
if(count == 2)//第三次,则抛出异常
throw new Exception("接口异常");

 else //如执行完则跳出
break;



参考技术A 这个问题我觉得应该是这样的:
调用接口的这个过程直接封装在一个方法里好了, 对于这个方法的调用可以通过启动一个线层去执行

以上是关于java 多线程的主要内容,如果未能解决你的问题,请参考以下文章

什么是JAVA的多线程?

java中啥叫做线程?啥叫多线程?多线程的特点是啥

多线程Java多线程学习笔记 | 多线程基础知识

java中啥叫做线程?啥叫多线程?多线程的特点是啥?

Java+线程内部调用实例方法会多线程安全吗?

Java多线程 5.栅栏