Day16

Jaho·2021년 9월 5일
0

Playdata

목록 보기
15/29

Day16

  1. join과 sleep 메소드를 이용해서 대기 및 스레드 중단에 대한 구문을 해석할 수 있다

  2. 스레드와 동기화 및 Object 클래스의 메소드를 이용해서 스레딩의 원리를 해석할 수 있다.

  3. 네트워크 구문에 대한 전반적인 이해를 할 수 있다.

  4. UDP / TCP의 작동원리를 구분할 수 있다.

  5. java.net의 클래스들을 이해하고 설명할 수 있으며 소켓에 대한 개념을 설명할 수 있다.

Tread의 메소드인 join은 final 메소드이고 오버라이드 하지않는다.

  • join() : 다른 스레드의 처리가 끝날때 까지 대기 시키고 싶을 때 처리하는 경우에 사용된다.

  • sleep() : 스레드 중단

    다이어그램을 보고 Stack의 기능을 살펴보고 갔다.
    Stack은 바닥부터 값을 쌓고 위에서 부터 추출한다.
    pop() = 값을 stack에서 제거(추출)한다.
    push() = 값을 stack에 추가(쌓는다)한다.


    TCP와 UDP의 작동원리 및 흐름도
    둘다 socket을 통해 통신하고
    TCP = ftp,http,telent,smpt 등에 사용한다.
    UDP = NFS,TFPT 등에 사용한다.


    톰캣 설치 후 conf폴더의 파일들에 대한 설명
    설치와 연동하는 법은 따로 글을 작성하으니 참고하기 바랍니다.

    톰캣 설치후 연동

    연동 후 Myweb이라는 서버를 만들고 Webcontant폴더 아래 test폴더를 만든 후 웹 생성 (로컬 호스트로 들어간다.)
    html을 사용할 수 있다.


img폴더를 만들고 사과 이미지파일을 넣었다.

img src="../img/apple2.jpg" 코드를 추가하여 이미지 파일을 웹으로 불러왔다.

좌측에 Servers 빨간박스는 톰캣이 설치된 폴더의 conf폴더의 복사본이다.

콘솔창에 Servers는 bin 폴더와 연동한다.


-com.test : join / sleep 메소드 활용
join() : 다른 스레드의 처리가 끝날때 까지 대기 시키고 싶을 때 처리하는 경우에 사용된다.
sleep() : 스레드 중단

주의할 점 : 교착 상태
- Join(long millis)로 시간을 지정하게 되면 지정된 시간이 지나면
스레드가 실행 중 이더라도 다음 작업을 수행하게 된다.

   -만일 두개의 스레드가 동일한 시간을 대기로 구현한다면 서로 지정된 시간이 끝날 때까지
   스레드가 실행 되지 않은 "교착 상태" 가 된다.

com.test01 : 동기화 확인 << 스레드 간의 약속>>
Object : wait () [현재 스레드를 대기상태로 pool]
-> notify() -> notifyAll() [대기상태 pool에 있는 스레드를 실행으로]

synchronized : 메소드 선언부분 , 메소드안에서 synchronized{this} 안에 코드를 작성한다.

ex) public synchronized void push(char c) {}
ex) public void push(char c) {synchronized {this} }

com.test02 : java.net 클래스를 이용해서 URL 탐색

com.test03 : UDP / TCP

profile
개발 옹알이 부터

0개의 댓글