2023-02-24 금 / JAVA

권혁현·2023년 2월 24일
0

Java

목록 보기
42/44
post-thumbnail

1. 단일 프로세스와 멀티 프로세스에 대하여 설명하시오.

  • 단일 프로세스 (process)
    하나의 CPU를 사용하여 프로세스를 한 번씩 번갈아 수행

  • 멀티 프로세스(multi process)
    여러 개의 CPU를 사용하여 여러 프로세스를 동시에 수행

2. 프로세스와 스레드의 차이는?

  • 프로세스(process)
    단순히 실행 중인 프로그램(program)으로, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것
    이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성됩니다.

  • 스레드(thread)
    프로세스(process) 내에서 실제로 작업을 수행하는 주체
    모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행
    또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 함

3. 아래의 가로 찍기와 세로찍기를 쓰레드로 돌리시오.

	for(int i=0; i < 300; i++)
		System.out.printf("%s", new String("-"));		

	for(int i=0; i < 300; i++) 
		System.out.printf("%s", new String("|"));	

class MyThread1 extends Thread{
	@Override
	public void run() {
		for(int i = 0; i<300; i++) {
			System.out.print("-");
		}
	}
}

class MyThread2 extends Thread{
	@Override
	public void run() {
		for(int i = 0; i<300; i++) {
			System.out.print("|");
		}
	}
}
public class Study64 {

	public static void main(String[] args) {
		MyThread1 th1 = new MyThread1();
		MyThread2 th2 = new MyThread2();
		
		th1.start();
		th2.start();
	}
}

4. 아래의 의미를 설명해 보시오.

메인 스레드가 종료되더라도 실행 중인 스레드가 하나라도 있다면 프로세스는 종료되지 않습니다.


5. 학생마다 Student 객체를 생성하고 4명의 학생 정보를 ArrayList 컬렉션에 저장한 후에, ArrayList의 모든 학생(4명) 정보를 출력하고 학생 이름을 입력 받아 해당 학생의 학점 평균을 출력하는 프로그램을 작성하라.

(나중에)

학생 이름, 학과, 학번, 학점평균 입력하세요.
>> 황기태, 모바일, 1, 4.1
>> 이재문, 안드로이드, 2, 3.9
>> 김남윤, 웹공학, 3, 3.5
>> 최찬미, 빅데이터, 4, 4.25
----------------------------------
이름: 황기태
학과: 모바일
학번: 1
학점평균: 4.1
----------------------------------
이름: 이재문
학과: 안드로이드
학번: 2
학점평균: 3.9
----------------------------------
이름: 김남윤
학과: 웹공학
학번: 3
학점평균: 3.5
----------------------------------
이름: 최찬미
학과: 빅데이터
학번: 4
학점평균: 4.25
----------------------------------
학생 이름 >> 최찬미
최찬미, 빅데이터, 4, 4.25
학생 이름 >> 이재문
이재문, 안드로이드, 2, 3.9
학생 이름 >> 그만

6. 프로그래밍 series_02

문제_02
ArayList 대신, HashMap<String, Studnet> 해시맵을 이용하여 다시 작성하라. 해시맵에서 키는 학생 이름으로 한다.

0개의 댓글