천상나타의 일상다반사

닫기 검색결과 전체 보기

    [자바] java method timeout - 메서드 타임 아웃 걸기

    IT/JAVA 2018. 4. 17. 18:15

    728x90

    1. 실험을 위하여 java main 테스트를 만듭니다.


    	public static void main(String[] args) {
    			boolean test = call(50);
    			if(test){
    				System.out.println("test Success");
    			}else{
    				System.out.println("test Fail");
    			}
    			
    	}
    


    2. 자바 메소드 타임아웃(시간설정)을 실험할 call을 정의합니다.

    - 저는 비교적 간단하게 사용하기위하여 true/false로 기능 테스트를 해보겠습니다.


    public static boolean call(long time){
    		ExecutorService threadPool = Executors.newCachedThreadPool();
    		
    		FutureTask task = new FutureTask(
    		    new Callable() {
    		        public Boolean call() throws Exception {
    		        	Thread.sleep(30);
    		            return true;
    		        }
    		    });
    		
    		threadPool.execute(task);
    		Boolean result = false;
    		try {
    			try {
    				result = task.get(time, TimeUnit.MILLISECONDS);
    			} catch (TimeoutException e) {
    				result = false;
    			}
    		} catch (InterruptedException e) {
    			e.printStackTrace();
    		} catch (ExecutionException e) {
    			e.printStackTrace();
    		}
    		
    		return result;
    	}
    


    3. 결과는 Success가 찍혔습니다.

    test Success 



    그렇다면 이 기능이 실제적으로 

    실제 timeout을 넘어가면 false가 찍히는지 확인해보겠습니다.


    4. main은 그대로 time을 50ms로 설정하겠습니다.


    public static Boolean call(long time){
    		ExecutorService threadPool = Executors.newCachedThreadPool();
    		
    		FutureTask task = new FutureTask(
    		    new Callable() {
    		        public Boolean call() throws Exception {
    		        	Thread.sleep(60);// sleep를 60ms로 변경
    		            return true;
    		        }
    		    });
    		
    		threadPool.execute(task);
    		Boolean result = false;
    		try {
    			try {
    				result = task.get(time, TimeUnit.MILLISECONDS);
    			} catch (TimeoutException e) {
    				result = false;
    			}
    		} catch (InterruptedException e) {
    			result = false;
    		} catch (ExecutionException e) {
    			result = false;
    		}
    		
    		return result;
    	}
    


    5. 결과는 Timeout으로 인해 false를 리턴하네요.

    test Fail


    지난 포스트가 궁금하시다면 

    ↓↓↓ 아래 링크를 클릭해주세요. ↓↓↓↓

    [자바] 깊은 복사와 얕은 복사의 이해 - java 데이터 복사


    다음 포스트가 궁금하시다면 

    ↓↓↓ 아래 링크를 클릭해주세요. ↓↓↓↓


    '공감'버튼 및 '좋아요'는 글쓴이에게 큰 힘이 됩니다!

    (클릭)블로그 구독도 부탁드립니다.(네이버이웃 추가)


    'IT > JAVA' 카테고리의 다른 글

    자바 리스트(ArrayList)와 배열(Array)의 차이점 3가지  (0) 2018.06.05
    자바 Map<String,String>을 다른 Map 키값으로 사용한다면  (0) 2018.05.30
    [자바] 깊은 복사와 얕은 복사의 이해 - java 데이터 복사  (1) 2018.04.17
    [자바 패턴] 싱글톤패턴의 이해(java singleton)  (0) 2018.04.17
    [JAVA] 자바로 csv파일 만들기(라이브러리 X)  (3) 2018.01.26

    'IT/JAVA' 관련 글 more
    • thumbnail
      자바 리스트(ArrayList)와 배열(Array)의 차이점 3가지 2018.06.05
    • thumbnail
      자바 Map<String,String>을 다른 Map 키값으로 사용한다면 2018.05.30
    • [자바] 깊은 복사와 얕은 복사의 이해 - java 데이터 복사 2018.04.17
    • [자바 패턴] 싱글톤패턴의 이해(java singleton) 2018.04.17
    Posted by 천상나타

Google Translate

Naver Neighborhood

    최근...

  • 포스트
  • 댓글
  • 더 보기

글 보관함

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

카테고리

분류 전체보기 (392)
IT (129)
JAVA (19)
JSP (5)
NoSql (8)
Linux (5)
javaScript (13)
Oracle (7)
MySql (2)
Android (1)
Spring (8)
Server (19)
System (12)
Tool (30)
공부자료(비공개) (0)
일상 (258)
맛집 (69)
해외여행 (31)
국내여행 (21)
우리집 고양이 쪼꼬 (4)
디저트&야식 (49)
영화 후기 (2)
제품리뷰 (5)
추천노래 (3)
취미 (74)
다이어트 (0)
유용한정보 (5)
블로그팁 (4)
지역정보 (1)

카운터

Total
Today
Yesterday
  • 네이버 이웃추가
  • 방명록
천상나타's Blog is powered by daumkakao
Skin info material T Mark 5+ by 뭐하라
favicon

천상나타의 일상다반사

IT정보공유 및 일상다반사

  • 네이버 이웃추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (392)
    • IT (129)
      • JAVA (19)
      • JSP (5)
      • NoSql (8)
      • Linux (5)
      • javaScript (13)
      • Oracle (7)
      • MySql (2)
      • Android (1)
      • Spring (8)
      • Server (19)
      • System (12)
      • Tool (30)
      • 공부자료(비공개) (0)
    • 일상 (258)
      • 맛집 (69)
      • 해외여행 (31)
      • 국내여행 (21)
      • 우리집 고양이 쪼꼬 (4)
      • 디저트&야식 (49)
      • 영화 후기 (2)
      • 제품리뷰 (5)
      • 추천노래 (3)
      • 취미 (74)
      • 다이어트 (0)
    • 유용한정보 (5)
      • 블로그팁 (4)
      • 지역정보 (1)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바