210329

정혜린·2021년 3월 29일
0

풀스텍 국비교육

목록 보기
17/84

210329

[스레드]
-하나의 응용프로그램에서 여러개의 작업을 경량의 프로세스로 나누어 실행하는 것
-시간이 오래 지연되는 작업이나 동시에 실행되어야 하는 작업이 있을 때 스레드로 실행한다.
-스레드 만드는 방법
방법1)Thread클래스를 상속 받아 만들기
방법2)Runnable 인터페이스를 상속 받아 만들기

방법1) Thread 클래스를 상속 받아 만들기
1. Thread 클래스 상속 받기
2. run 메소드 오버라이딩 하기 - 스레드로 구동되어야 할 기능 구현
3. 스레드 객체 생성 후 실행 - start() 메소드로 스레드 실행한다.

스레드 구동하기 -> start 메소드 호출! (내부적으로 run 메소드가 호출된다.)

[스레드의 동기화]
-하나의 자원(객체)를 여러개의 스레드가 공유해서 사용할 떄 하나의 스레드가 사용중이면 다른 스레드는 사용할 수 없으며 잠금(락)을 걸어두는 것
-동기화 처리방법
방법1) 동기화 할 객체에 synchronized 블록으로 묶기
synchronized(공유자원객체) {
...
}
방법2) 동기화 할 클래스에 synchronized 메소드 만들기
public synchronized 리턴형 메소드명(매개변수, ...) {
...
}
예)
public class Data {
private int[] b=new int[100];
public synchronized void setB(int a, int i) {
b[i]=a;
}
public synchronized int[] getB() {
return b;
}
}

*ctrl + shift + f : 괄호 정렬 (순서에 맞게)

0개의 댓글

Powered by GraphCDN, the GraphQL CDN