51dev.com IT技术开发者社区

51dev.com 技术开发者社区

java设置超时限制

IT猿阅读(28)2019-10-30 收藏0次评论

public static String limi(String net,String iden,int limi){
		String state ="";
		ExecutorService executor = null;
		 FutureTask<String> future = null;
		  try { 
		 executor = Executors.newSingleThreadExecutor();  
	       future = new FutureTask<String>(new Callable<String>() {
				@Override
				public String call() throws Exception {	
					if (useable(net)>0) {
						return ;
					}else {
						return "无效";
					}
		                  
				}
			});  
	        executor.execute(future);  
	       //limi是设置的时间限制  单位:毫秒
	            state = future.get(limi, TimeUnit.MILLISECONDS);   
	        } catch (InterruptedException e) {  
	            // 中断线程
	            e.printStackTrace();  
	        } catch (ExecutionException e) {  
	            // TODO Auto-generated catch block  
	            e.printStackTrace();  
	        } catch (TimeoutException e) {  
	            state ="超时";
	            e.printStackTrace();  
	        }finally{  
	            future.cancel(true);  
	            executor.shutdown();     
	        } 
		
		return state;	
	}

 

以上就是java设置超时限制的全部内容。