레포트샵

fileicon[프로그래밍] 프로세스와 스레드

이전

  • 1프로그래밍  프로세스와 스레드1
  • 2프로그래밍  프로세스와 스레드2
  • 3프로그래밍  프로세스와 스레드3
  • 4프로그래밍  프로세스와 스레드4
  • 5프로그래밍  프로세스와 스레드5

다음

  • 최대 100페이지까지 확대보기 서비스를 제공합니다.

> 레포트 > 공학계열 > 자료상세보기 (자료번호:220124)

구매가격
500원 할인쿠폰450원
등록/수정
2008.11.10 / 2008.11.11
파일형식
fileicondoc(MS워드 2003이하) [무료뷰어다운]
페이지수
5페이지
자료평가
평가한 분이 없습니다.
등록자
sasm78
  • 다운로드
  • 장바구니 담기

닫기

이전큰이미지 다음큰이미지
  • 트위터
  • 페이스북
신규가입 200원 적립! + 10% 할인쿠폰 3장지급! banner구매자료를 평가하면 현금처럼 3%지급!

소개글

[프로그래밍] 프로세스와 스레드에 대한 자료입니다.

목차

프로세스
스레드
notify() 메쏘드

본문내용

1. 프로세스와 스레드의 차이점을 설명하시오.
프로세스
프로세스는 컴퓨터 내에서 실행중인 프로그램의 인스턴스이다. 이 용어는 몇몇 운영체계에서 사용되는, "태스크"라는 용어와 의미상으로 가깝다. 유닉스나 몇몇 다른 운영체계에서는, 프로그램이 시작되면 프로세스도 시작된다. 태스크와 마찬가지로, 프로세스는 그 프로세스가 추적 관리될 수 있게 하기 위한 특정한 데이터 셋이 관련되어 실행 중인 프로그램이다. 여러 명의 사용자들에 의해 공유되고 있는 응용프로그램은 일반적으로 각 사용자들의 실행단계에서 하나의 프로세스를 갖는다. 프로세스는 자프로세스라고도 불리는 서브프로세스를 시작시킬 수 있다. 자프로세스는 부프로세스의 복제로서 부프로세스의 자원을 일부 공유하는데, 부프로세스가 종료되면 더 이상 존재할 수 없다. 프로세스들은 몇 가지 IPC 방식을 통하여 정보를 교환하거나 그들의 연산을 동기화할 수 있다.
스레드
컴퓨터 프로그래밍에서, 스레드는 다수의 사용자들을 동시에 처리할 수 있는 프로그램이 각각의 사용과 관련하여 가지고 있는 정보들 말한다. 프로그램의 관점에서 보면, 스레드는 한 명의 개별 사용자 또는 특정한 서비스 요청을 서비스하는데 필요한 정보이다. 만약 다수의 사용자들이 그 프로그램을 쓰고 있거나, 또는 다른 프로그램들로부터 동시에 요청이 발생했을 때, 각각의 사용자나 프로그램들을 위해 스레드가 만들어지고, 또 유지된다. 스레드는 프로그램에게 현재 어떤 사용자가 서비스를 받고있는지를 파악하게 함으로써, 다른 사용자들을 위하여 재진입 해야할 것인지의 선택을 할 수 있도록 한다 (단방향 스레드 정보는 특별한 데이터 저장소 내에 그것을 저장하고, 데이터 저장소의 주소를 레지스터에 집어넣음으로써 유지된다. 운영체계는 항상 프로그램이 중단되었을 때 레지스터의 내용을 저장하며, 그리고 다시 제어권이 주어졌을 때 그 내용을 복구한다).
프로세스는 서로간의 데이터를 공유 할 수 없는 반면에 각각의 프로세스 내부에 생성되는 스레드는 각각의 프로세스 내부의 데이터를 서로 공유할 수 있다.



2. 1초에 한 번씩 자신의 이름을 화면에 출력하는 스레드를 작성하시오.
(Thread를 상속하는 방식과 Runnable을 구현하는 방식으로 각각 작성하시오)
(소스와 결과화면을 제출하시오)


//스레드를 상속하여 1초마다 나의 이름을 화면에 표시한다. 이름과 함께 시간도 함께 표시한다. ?
public class TimeThread extends Thread {
public static void main(String args[]){
TimeThread t = new TimeThread ();
t.start();
}

public void run(){
long start=0,end=0;
try{
while(true){ start=System.currentTimeMillis();
Thread.sleep(1000);
end=System.currentTimeMillis();
System.out.println("안상민 "+(end‐start));
}
}catch(InterruptedException e){
System.out.println("Interrupted");}
}
}
결과
안상민 1002
안상민 1001
안상민 1002
안상민 1001
안상민 1002
안상민 1001
안상민 1001
안상민 1002
안상민 991
안상민 1002
안상민 1041
안상민 992
안상민 1001
안상민 1002


// Runnable을 구현하는 방식으로 이름을 출력한다. 시간도 함께 출력한다.
public class TimeThread implements Runnable{
public static void main(String args[]){
Thread t= new Thread(new TimeThread(),"Print_Myname");
t.start();
}
public void run(){
long t1=0,t2=0;
try{
while(true){ t1=System.currentTimeMillis();
Thread.sleep(1000);
t2=System.currentTimeMillis();
System.out.println("안상민 "+(t2‐t1));
}
}catch(InterruptedException e){
System.out.println("Interrupted");}
}
}
결과
안상민 1002
안상민 1001
안상민 1002
안상민 1001
안상민 1001
안상민 992
안상민 1001
안상민 1002
안상민 1001
안상민 1002
안상민 1001


태그 프로세스, 스레드, 프로그래밍

자료평가

아직 평가한 내용이 없습니다.

오늘 본 자료

  • 오늘 본 자료가 없습니다.
  • img

    저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하 며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객 센터에 신고해 주시기 바랍니다.