목록전체 글 (117)
quilt code
1. 스레드에서 데이터를 공통으로 사용하는 방법 스레드에서 데이터를 공통으로 사용하는 방법 1. 공통으로 사용할 데이터를 클래스로 정의한다. 2. 공통으로 사용할 클래스의 인스턴스를 만든다. 3. 이 인스턴스를 각각의 스레드에 넘겨준다. 4. 각각의 스레드는 이 인스턴스의 참조값을 지정한 변수를 이용하여 공통 데이터를 사용한다. 예) 원주율을 계산하는 스레드가 있고, 계산된 원주율을 출력하는 스레드가 있다. 원주율을 계산한 후 이 값을 출력하는 프로그램을 작성하시오. (이 때 원주율을 저장하는 객체가 필요하다) 1 2 3 4 5 6 7 8 9 10 11 12 public static void main(String[] args) { ShareData sd = new ShareData(); Thread th..
1. Thread Yield 1) yield() 메소드 1. 현재 실행 대기중인 동등한 우선순위 이상의 다른 스레드에게 실행기회를 제공한다. (양보) 2. 현재 실행 중인 스레드의 상태를 RUNNABLE 상태로 바꾼다. (WAITING이나 BLOCKED가 아니라) 3. yield() 메소드를 실행한다고 해서 현재 실행 중인 스레드가 곧바로 RUNNABLE 상태로 전이된다고 확신할 수는 없다. 2) 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 public static void main(String[] args) { new YieldThread1().start(); new..
문제) 컴퓨터와 가위 바위 보를 진행하는 프로그램 작성 컴퓨터의 가위 바위 보는 난수를 이용하여 구하고 사용자의 가위 바위 보는 showInputDialog()메소드를 이용하여 입력받는다. 입력 시간은 5초로 제한하고 카운트 다운을 진행한다. 5초 안에 입력이 없으면 게임을 진 것으로 처리한다. 5초 안에 입력이 완료되면 승패를 출력한다. 결과예시) === 결과 === 컴퓨터 : 가위 당신 : 바위 결과 : 당신이 이겼습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 5..
1. 데몬 스레드 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class T09ThreadDaemonTest { public static void main(String[] args) { Thread th = new AutoSaveThread(); // 데몬스레드로 설정하기(start()메소드를 호출하기 전에 설정해야 한다. th.setDaemon(true); th.start(); try { for(int i=1; i
1. 스레드의 수행시간 체크 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class T03ThreadTest { public static void main(String[] args) { Thread th = new Thread(new MyRunner()); // UTC(Universal Time Coordinated 협정 세계 표준시)를 사용하여 1970년 1월 1일 0시 0분 0초를 기준으로 경과한 시간을 밀리세컨드(1/1000초)단위로 나타낸다. long startTime = System.currentTimeMillis(); th.start(); // th 스레드 작업 시작 try { th.join(); // 현재 실행중인 스레드에서 작업중인..
1. 싱글 스레드 프로그램 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package kr.or.ddit.basic; public class T01ThreadTest { public static void main(String[] args) { // 싱글 스레드 프로그램 for(int i=1; i
1. Annotation 애너테이션 프로그램 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속한 형식으로 포함시킨 것(JDK 1.5부터 지원) 주석처럼 프로그램 코드에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공함. 종류 1) 표준(일반) 애너테이션 2) 메타 애너테이션(애너테이션을 위한 애너테이션, 즉 애너테이션을 정의할 때 사용하는 애너테이션) 애너테이션을 생성할때를 위한 또 다른 애너테이션 애너테이션 타입 정의하기 @interface애너테이션이름 { 요소타입 타입요소이름(); //반환값이 있고 매개변수는 없는 추상메소드의 형태 .... } 애너테이션 요소의 규칙 1) 요소타입은 기본형, String, enum, annotation, class만 허용된다. 2) () 안에 매개변..
문제) 호텔 운영을 관리하는 프로그램 작성.(Map이용) - 키값은 방번호 실행 예시) ************************** 호텔 문을 열었습니다. ************************** ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 1 101 홍길동 1 102 성춘향 3 2 101 1 102 허준 2 101 3 4