接口长时间无结果项目线程假死

Posted brent-leon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口长时间无结果项目线程假死相关的知识,希望对你有一定的参考价值。

在项目中经常会有些调用无缘无故无响应,这时候怎么处理呢?

这儿提出一种解决方案.

是使用线程来做控制.

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

public class Test {
    
    private static ExecutorService exec = Executors.newFixedThreadPool(1);
    public static void main(String[] agst){
        try {
            //Callabal<String> string: 是返回值类型
            Callable<String> callable = new Callable<String>() {
                public String call() throws Exception{
                    Thread.sleep(2010);
                    //需要调用的方法或者接口
                    //如果接口有返回值直接return返回值
                    return "success";
                }
            };
            Future<String> submit = exec.submit(callable);
            //result 接口的返回值 , get(2"时间" , TimeUnit.SECONDS"时间类型")
            String result = submit.get(2, TimeUnit.SECONDS);
            //自己的逻辑
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

代码做过修改没做测试,使用的时候测试下再使用.

 

以上是关于接口长时间无结果项目线程假死的主要内容,如果未能解决你的问题,请参考以下文章

服务器iis假死的原因及解决方法

WPF:鼠标长时间无操作,窗口隐藏

ASP.NET session 用户长时间无操作,跳转到重新登录页面,具体怎么写,求高手帮忙啊!

C#程序窗口假死

C#异步调用,界面假死

Git push长时间无反应或处于等待状态