본문 바로가기

Douzon/java

16일차

  • 멀티 스레드
    • 스레드 : 프로그램의 실행 흐름
    • 멀티스레드 : 병렬작업을 하고싶을때
    • 프로세스 스레드
      • 스레드: 프로그램 안에서 실행 흐름
      • 프로세스 : 프로그램 실행단위
    • 스레드를 구현해야하는 이유 
      • 기능 상 : CPU가 많으면 성능이 좋음
      • 로직 상 : 실행되는 동시에 실행되어야하는 것듯 예) 카톡, 게임 등
    • 스레드의 구조
      • 제어권 →cpu
      • new → thread 생성Runable(실행가능한 상태) → run 호출 가능 상태 →run은 cpu가 실행
      • start → 기동→ Runable, notRunable 실행가능한 상태까지만 우리가 실행은 cpu가 →start는 우리가 실행
      • notRunable(대기 상태): sleep, wait, join
    • join
      • thread.join() thread가 종료될때까지 대기한다 다른 스레드는 동작하지 않고 join한 스레드만 동작
    • wait() 과 sleep()
      • sleep() : 주어진 시간동안 일시적으로 정지 모니터락 유지
      • wait() : 다른 스레드에 의해 깨워질 때까지 대기하며 모니터락 해제
    • Critical section 스레드 실행중 제어가 다른 스레드로 제어권이 넘어가면 생길수 있는 부분
    • → 동기화(synchronization)
    • 스레드간 신호 전송
      • wait() 신호를 받는 메소드 (얼음)
      • notify() 신호를 보내는 메소드 (땡)
  • 통신 네트워크
    • TCP/IP : 연결지향방식 예)전화기, 신뢰적인 데이터를 주고 받는다
    • 상대방의 주소 : IP주소
    • port : 네트워크를 통해 데이터를 주고 받을 때 사용되는 가상의 출구
    • 서버 클라이언트
      • 클라이언트 : 서비스를 요청
      • 서버 : 서비스를 처리
    • 소켓 : 프로그램 내에서 보았을 때의 데이터 통신 출입구
      • 서버 소켓 : 연결요청 기다림, 소켓(방금전에 접속한 클라이언트 소켓) 생성→ 객체는 같은것이므로 서버에 있는 소켓 = 클라이언트 소켓
      • 클라이언트 소켓 : 서버에게 요청
반응형

'Douzon > java' 카테고리의 다른 글

17일차  (1) 2023.05.23
15일차 File Class  (0) 2023.05.18
14일차  (0) 2023.05.17
13일차  (0) 2023.05.16
12일차  (0) 2023.05.15