학습 내용 (8/8)

may_yun·2023년 8월 8일
0
post-custom-banner
  • ExecutorService
    : 쓰레드 풀을 생성하여 병렬처리할 수 있다.

    • newFixedThreadPool(int) : 인자 개수만큼 고정된 쓰레드풀을 만듭니다.
  • 콜백과 리스너 차이
    https://crazykim2.tistory.com/630

  • ThreadPoolExecutor
    : 멀티 스레드 구현

  • call by value / call by reference
    https://yoojin99.github.io/cs/Call-by-Value-Call-by-Reference/

  • Executors.newFixedThreadPool()
    :

  • ExecutorService.class
    : 병렬 작업 시 여러 개의 작업을 효율적으로 처리하기 위해 제공되는 JAVA 라이브러리
    ExecutorService에 Task만 지정해주면 친절하게 알아서 ThreadPool을 이용해서 Task를 실행하고 관리한다.

  • ThreadFactory의 newThread()
    스레드 풀에서 스레드 생성 시 ThreadFactory.newThread 로 생성되게 되어있음
    ex) 위의 Executors.newFixedThreadPool()
    https://dydtjr1128.github.io/java/2019/12/14/JAVA-ThreadFactory.html

  • 데몬 스레드 (Daemon)
    : 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드
    주 스레드가 종료되면 데몬 스레드는 강제적으로 자동 종료된다. 이를 제외하면 데몬 스레드는 일반 스레드와 차이가 없다
    ex) 워드프로세스의 자동 저장, JVM 가비지 컬렉터, 미디어 플레이어의 동영상 및 음악 재생 등

    • setDeamon: 스레드를 데몬으로 만들기 위해서는 주 스레드가 데몬이 될 스레드의 setDeamon(true) 메소드를 호출해주면 된다.
    • isDaemon: 현재 실행중이 스레드가 데몬 스레드인지 아닌지를 구별하는 방법으로 메소드의 리턴값을 확인하면 된다. 데몬이면 true 반환
  • ThreadPoolExecutor.class

    • corePoolSize보다 적은 Thread가 수행되고 있었던 경우: 실행 요청한 Runnable을 수행하기 위한 Thread를 새로 생성하여 즉시 실행한다.
    • corePoolSize보다 많은 Thread가 수행되고 있지만, maxPoolSize보다 적은 수의 Thread가 수행되고 있는 경우:
      - Queue가 가득 차지 않은 경우: 즉시 실행하지 않고 Queue에 Runnable을 넣는다.
      - Queue가 가득 찬 경우: maxPoolSize까지 Thread를 더 만들어 실행한다.
      https://leeyh0216.github.io/posts/truth_of_threadpoolexecutor/
  • ExecutorService.submit()

    • submit() 메서드는 Future 객체를 반환합니다.
    • execute() 메서드는결과에 대해 신경 쓰지 않고 스레드 풀의 작업자 스레드(Worker Thread)에 의해 코드가 병렬로 실행되기를 원할 때 사용됩니다. submit() 메서드는 작업의 결과에 대해 관심이 있을 때 사용할 수 있습니다.
      https://parkadd.tistory.com/114
  • 폴링
    : 하나의 장치(또는 프로그램)이 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다

  • IdleStateHandler.class
    : 특정 시간 동안 read, write, 또는 read/write 동작이 없을 때 이를 체크해 사용자에게 알려주는 역할을 수행

IdleStateHandler(int readerIdleTimeSeconds, int writerIdleTimeSeconds, int allIdletimeSeconds)

http://okminseok.blogspot.com/2019/01/netty-idlestatehandler-idle.html

profile
개발 일지
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 8월 8일

정리가 잘 된 글이네요. 도움이 됐습니다.

답글 달기