본문 바로가기

Synchronized

자바 쓰레드(Thread) - 쓰레드(Thread) 생성자/소비자패턴 생성자/소비자 패턴이다. 예제를 보자 전에 했던 자판기나 은행예제와 다를께 없다. 아래는 컴퓨터로 프린터를 사용할때를 생각해서 만든 예제이다. 컴퓨터 3대로 프린터를 동작하는것이다. 총 클래스 4개와 인터페이스 1개로 구성되어 있다. 더보기
자바 쓰레드(Thread) - 쓰레드(Thread)의 동기화 (synchronized) 자판기 예제 자판기를 보자. 자판기안에는 음료수들이 차례차례로 들어 있다 그리고 공급자가 있고 사람들이 돈을 넣고 음료수를 빼먹는다. 공급자 - 음료수 공급자 소비자 - 돈을 넣고 음료수를 빼먹는 사람 만약 자판기에 음료수가 없으면 소비자가 돈을 넣고 음료수를 뽑을 수 있을까? 없다. 공급자가 음료수를 넣기 전까지는 소비자가 사용하면 안된다. 예제로 네개의 클래스를 만들어 보자 메인 클래스, 공급자 클래스, 자판기 클래스, 소비자 클래스를 아래와 같이 만들었다. 자판기에서는 자바 stack 을 사용하였다. 처음 넣은 음료수는 나중에 나온다고 설정해서 사용. getDrink()는 소비자가 뽑아 먹는 것을 구현한것인데.. while조건문에 스택이 비워져있으면 안에서 스레드 wait을 걸었다. 왜냐면 음료수도 없는데 뽑아.. 더보기
자바 쓰레드(Thread) - 쓰레드(Thread)의 동기화 (synchronized) 더보기