스레드 부분에 대한 질문입니다 ^^;
이거이름임
간략하게 설명좀 부탁드립니다 ...
1) 스레드 객체에 존재하는 run() 메소드를 직접 호출하는 경우와 start() 메소드를 통하여 간접적인 방법으로 호출하는 경우 호출하는 경우의 차이점을 설명하시오.
2) 반드시 Runnable 인터페이스를 사용하여 스레드를 구현해야 하는 경우는 어떤때이며 그 이유는 무엇이가?
3) 데드락을 예방하면서 병렬성을 높일 수 있는 방법을 설명하시오.
4) 스레드 그룹을 사용하는 이유는 무엇인가?Account.java 를 이용하여 은행 계정 업무를 병행으로 수행하기위한 예제 프로그램을 작성하여 보시오. 은행원에 대한 작넙 순서는 다음과 같다.
class Teller extends Thread {
String name; // 은행원 이름
Account account; // 계정
double amount; // 예금액
Teller(String name, Account account, double amount) {
this.name = name;
this.account=account;
this.amount = amount;
}
public void run() {
account.deposit(amount);
System.out,println(name + : + account.getBalance());
}
}
-
스위트초코
감사드립니다 ^^ 자바에 대해서 많이 알고 싶어서 질문드렸어요 ^^;; 한번배우는거 열심히 배울게요~.~;; 질문 많이 해서 죄송요 ㅠ.ㅜ..
-
탄성
1번 설명 : 맞는지는 잘 모르겠는데 오래전에 읽은거라 ;; 테스트 해 보세요 ^_^
start() 시키면.. 쓰레드로 돌아가고,, run() 으로 실행 시키면 그냥 단순히 메소드를 하나 호출하는것 처럼 돌아 가게 됩니다~ ^_^ -
방방
3) 여러개의 쓰래드를 묶어서 다룰수 있다는 장점이 있어서.
-
갤쓰리
2) Thread외의 다른 클래스로 부터 상속받아야할때
-
헤벌심
좋은 질문들이네요.
-
콩알눈
레포트는 아니구 그냥 알아오는건데영;; 발표할라구요... ㅋ;; 답처럼 아시는분 있으시면 알려주세요 ... ^^
-
4차원
woker 와 work 를 분리하면 작업 스케줄링이나 리소스 관리하는게 편해집니다.. jdk 1.5 에 추가된 concurrent package 를 참조하세요.
-
이슬비
흐~ 딱 레포트 처럼 되어 있네요 ;; 쩝 ;;;
2번만 제가 아는 대로 설명해 드릴께요..
자바에서는 다중 상속이 안되기 때문에 쓰레드를 돌리기 위해서
Thread를 상속 받아 버리면.. 다른것은 상속 받지 못하기 때문에 문제가 될
수 있죠. 그렇기 때문에 Runnable Interface를 구현해서 사용하는 방식을
씁니다.