세마포어는  OS에서 제공해주는 교착상태(Dead Lock) 방지 기능을 하는 기법 중 하나이다.


세마포어가 하는 일은 세가지가있다. 


1. 카운팅(Counting)

  해당 영역에 접근 가능한 숫자를 정하고 제한한 쓰레드만 코드 안에 

  접근가능하게하여 교착상태를 방지한다.


2. 상호배제(Mutual exclusion)

  카운팅 세마포어의 방법중하나로 한 쓰레드만 해당 코드안에 진입 가능하게 한다.

  카운팅 세마포어에서 개수가 1인 세마포어가 해당된다. 



3. 동기화(Synchronization)

  세마포어의 카운트가 0에서 시작한다.

  한쪽 코드에선 Wait 상태로 들어가기만 하고 한쪽 코드에선 Relese  상태로 가기만 한다.

  한 쓰레드가 끝나면 다른 쓰레드가 완료 될 때까지 기다리는 역할을 한다.





이번 포스팅에서는 상호 배제만 다루기로 한다. 



                                

세마포어를 사용하지 않았을때       세마포어를 사용 하였을때


사용 하였을 때와 사용하지 않을때 확실히 차이가 있다.





'공부 > Java' 카테고리의 다른 글

[자바 GUI] 자바 JTabbedPane 활용  (0) 2015.11.08
[자바] 사용자 문서 경로 얻기  (0) 2015.11.02
[자바 GUI] JTextArea, JScrollPane  (0) 2015.09.24
[자바 GUI] JLabel, JTextField  (0) 2015.09.24
[자바 GUI] BoxLayout  (0) 2015.09.23


 


자바 jdk는 자바 프로그래밍을 하기위한 가장 기초적인 단계입니다.

JDKJava Development Kit의 약자로 자바 프로그램 개발하는데 

필요한 프로그램입니다.


jdk는 오라클 싸이트에 접속하시면 받으실수있으신데요 하나하나 알려 드리겠습니다!



일단 오라클 사이트에 접속합시다. 링크 <<링크를 클릭하시구요





▲ 접속하시면 이페이지가 나오시는데요 우리는 JDK를 받을것이니

Java Platform(JDK) 8u11를 눌러줍시다.







▲ 눌러주셧으면 이제 운영체제별로 받을 수 있는 화면이 나옵니다.

자신의 운영체제와 비트수에 맞추어 다운받습니다

Windows x84는  윈도우 32비트

Windows x64는 윈도우 64비트입니다. 참고하시기바랍니다 





▲ 다운로드 받은 프로그램을 실행시키시면 

설치 프로그램이 시작됩니다

Next를 눌러줍시다.





▲ 인스톨 위치바꾸시려면 체인지 누르셔서 바꾸시면되시구요

따로 바꾸실거없으시면 Next를 눌러줍시다.





▲ 퍼센테이지 가 모두올라가면 설치가 완료됩니다 Close를 눌러줍시다





▲ 이제 컴퓨터에 환경변수를 등록 해주셔야하는데요

일단 내컴퓨터에서 오른쪽버튼 누르시고 속성(R)을 선택해주면

다음과 같은 화면이 나오게됩니다.

여기서 고급 시스템 설정을 눌러줍시다.





▲ 고급 시스템 속성을누르시면 이와같은 화면이 나오시는데요

여기서 환경변수를 눌러주시구요





▲ 밑에 시스템 변수에서 Path를 찾아줍시다.

클릭하시고 편집을 눌러주세요








▲ 편집창에서 변수값을보시면 이미 많은 경로들이있으실건데

이경로들 맨뒤로가셔서 세미콜론(;)을 입력하시구요

그뒤에 아까 인스톨하셧던 경로를 입력해줍니다.

ex)......;C:\Program Files\Java\jdk1.8.0_11\bin

bin까지 입력해주셔야되요! 입력하셧으면 확인 클릭!!






▲ JAVA_HOME은 없을 거에요.

새로만들기 누르셔서 변수이름에 JAVA_HOME입력하시고

변수값에는 아까와같이 경로를 입력해주세요.



여기까지 다하셧으면 JAVA jdk설치는 모두 끝나셧습니다.

다음포스팅에는 이클립스 설치법을 알아보겠습니다.

 

'공부 > Java' 카테고리의 다른 글

[자바 GUI] BoxLayout  (0) 2015.09.23
[자바 GUI] JPanel  (0) 2015.09.23
[자바 GUI] BorderLayout의 변화  (0) 2015.09.23
[자바 GUI] 버튼 생성, 이벤트  (0) 2015.09.23
이클립스 루나 설치하기 Eclipse LUNA 4.4  (0) 2014.08.03

+ Recent posts