Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
3부 객체지향 3부에서는 자바 언어의 핵심인 객체지향의 개념과 클래스, 객체, 상속, 다형성 등의 개념에 관해 설명합니다.
최윤정 Java 프로그래밍 클래스 상속 최윤정
제8장 쓰레드 프로그래밍.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
어서와 Java는 처음이지! 제16장 스레드.
Java 10장. 다중 스레드 public class SumTest {
운영체제 4장 요약정리(CPU 스케줄링) 2A 박훈.
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
Java의 정석 제 12 장 쓰레드(thread) Java 정석 남궁성 강의
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
AP 모드 활용하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
스레드란? 멀티 태스킹(muli-tasking)는 여러 개의 애플리케이션을 동시에 실행하여서 컴퓨터 시스템의 성능을 높이기 위한 기법 그림23-1. 병철 처리의 예.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
Chapter 06 프로세스와 예약작업 관리 Solaris 1. 프로세스 관리
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
Power Java 제14장 배치 관리자.
자바네트워크 제2주 실습 네트워크기초, 스레드.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
03. 병행 프로세스 (Parallel Process)
10장. 예외처리.
자바 5.0 프로그래밍.
Subject : Thread Written by: 김형근,류명운.
예외 처리 및 스레드 클래스 활용 학습목표 오류 발생 시 무조건 정지하지 않고 경우에 따라서 예외 처리하여 정상 작동을 하는 경우의 Exception 클래스에 대해서 학습한다. 멀티미디어 파일에서 동시에 다운로드 받는 효과를 갖을 수 있는 스레드(Thread) 클래스에.
7장 인터페이스와 추상 클래스.
Java 9장. 인터페이스와 예외처리 public class SumTest {
Method & library.
JA A V W. 03.
자바 5.0 프로그래밍.
자바응용.
Bakery Algorithm Lamport’s 람포트의 제과점 알고리즘 Designed by 이기헌
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 사업단 실행환경 개발팀.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
자바 5.0 프로그래밍.
자바 5.0 프로그래밍.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
Power Java 제11장 상속.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
10장 상속 Section 1 상속의 개요 Section 2 상속과 한정자 Section 3 상속과 생성자
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Chapter 17. 스레드.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
JSP Programming with a Workbook
Chapter 10 데이터 검색1.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
발표자 : 이지연 Programming Systems Lab.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
엔코더 프로그램 설명 // 쓰레드를 사용하기 때문에 변수와 핸들을 전역변수로 지정 HANDLE hDevice;
제8장 쓰레드 프로그래밍.
Power Java 제14장 배치 관리자.
Java의 정석 제 8 장 예외처리 (Exception handling) Java 정석 남궁성 강의
자바 객체 지향 프로그래밍 Ps lab 김윤경.
Power Java 제23장 스레드.
프로젝트 결과 발표 네트워크정보통신과 강동성 이현미.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스 4부에서는 주요 클래스 라이브러리를 기술하였다. 10장에서는 다중 스레드의 개념과 스레드를 사용하여 프로그램을 작성하는 방법에 관해 기술하였다. 11장에서는 패키지와 자바 프로그램에서 많이 사용되는 주요 클래스에 관해 기술하였다. 12장에서는 입출력에 관해 예제를 통하여 상세하게 기술하였으며, 13장에서는 네트워킹 프로그램 작성 방법에 관해 기술하였다.

다중 스레드 CHAPTER 10 Section 1 스레드 개요 Section 2 Thread 클래스와 스레드 생명주기 Section 6 스레드 동기화(Synchronization) Section 7 스레드 사이의 통신

Section 1 스레드 개요 스레드 개요 스레드 : 실행중인 프로그램 다중 스레드 : 다수개의 스레드가 동시에 수행되는 형태 자바는 다중 스레드의 기능을 실행 시스템과는 상관없이 JVM에 내장된 형태로 구현

Section 1 스레드 개요 스레드 개요

Section 2 Thread 클래스와 스레드 생명주기 JDK에서 Thread 클래스 제공

Section 2 Thread 클래스와 스레드 생명주기

Section 2 Thread 클래스와 스레드 생명주기 스레드는 탄생에서 소멸될 때까지 생명주기를 가진다

Section 3 스레드의 생성과 사용 스레드 생성 두 가지 형태로 스레드를 생성하여 사용 Thread 클래스로부터 상속받아 스레드 특성을 가진 클래스를 생성 Runable 인터페이스를 이용(이미 클래스가 다른 클래스로부터 상속받고 있는 경우)하여 스레드 클래스 생성

Section 3 스레드의 생성과 사용 Thread 클래스 이용 Thread 클래스의 run() 메소드를 오버라이딩하여 스레드의 동작을 기술

Section 3 스레드의 생성과 사용 Runnable 인터페이스 이용

Section 3 스레드의 생성과 사용 스레드의 생성과 사용

Section 3 스레드의 생성과 사용 스레드의 생성과 사용

Section 3 스레드의 생성과 사용 스레드의 생성과 사용

Section 4 스레드 우선순위 스레드 우선순위 스레드에 우선순위를 부여하여 빨리 실행시킬 수 있다 Thread 클래스에서 우선순위를 지정하기 위한 상수 제공

Section 4 스레드 우선순위 스레드 우선순위

Section 5 스레드의 시작과 종료 스레드의 시작과 종료 다중 스레드에서 다수개의 스레드는 start() 메소드에 의해 시작된다 다중 스레드가 다수개의 흐름으로 실행된다 다중 스레드 수행 후 실행 흐름을 하나로 만들기 위해서 join() 메소드를 사용한다

Section 5 스레드의 시작과 종료 스레드의 시작과 종료

Section 5 스레드의 시작과 종료 스레드의 시작과 종료

Section 6 스레드 동기화(Synchronization) 다중 스레드로 해결해야 하는 문제들 대부분은 다수개의 스레드가 서로 연관되어 실행되어야 하는 문제이다. 공용으로 사용하는 프린터의 출력 용지 count TV에서 모금하는 성금의 총 합계 여러명이 사용하는 하나의 화장실 문제 등 다수개의 스레드가 서로 연관될 때, 한 순간에는 하나의 스레드만 수행하여야 하는 상호 배타적 문제가 발생 상호 배타적으로 수행해야 하는 영역을 임계영역(critical section)이라 한다 자바는 임계영역을 지정하기 위해 synchronized 메소드를 제공

Section 6 스레드 동기화(Synchronization) 스레드 동기화 : 임계영역

Section 6 스레드 동기화(Synchronization)

Section 6 스레드 동기화(Synchronization)

Section 7 스레드 사이의 통신 스레드 사이의 통신 문제 해결을 위해 스레드 사이의 통신이 필요로 되는 경우가 많다 생산자-소비자 문제 은행의 예금-출금 문제 등 자바는 스레드 사이의 통신을 위해 Object 클래스(자바의 최상위 클래스이므로 어떠한 클래스에서도 사용가능) 에서 wait(), notify(), notifyAll() 메소드를 제공하고 있다

Section 7 스레드 사이의 통신 스레드 사이의 통신 : wait(), notify(), notifyAll()

Section 7 스레드 사이의 통신 스레드 사이의 통신

스레드 개요 Thread 클래스와 스레드 생명주기 Chapter 10 학습정리 ① 스레드는 실행 중인 프로세스라 할 수 있으며, 하나의 프로그램에 다수 개의 스레드를 실행시킬 수 있다. ② 한 개의 CPU를 가진 컴퓨터에서 스레드는 CPU에 의해 돌아가며 수행되게 된다. Thread 클래스와 스레드 생명주기 ① 자바에서는 스레드를 지원하기 위해 Thread 클래스를 제공하고 있다. ② 스레드 클래스는 스레드를 지원하는 다양한 메소드를 가지고 있다. ③ 스레드는 생성, 실행 가능 상태, 실행 상태, 대기 상태 등의 생명주기를 가지고 있다.

스레드의 생성과 사용 스레드의 우선순위 Chapter 10 학습정리 ① 자바에서 스레드는 두 가지 방법으로 사용이 가능하다. ② Thread 클래스로부터 상속받아 스레드를 사용하는 방법과 Runnable 인터페이스를 포함하여 스레드 클래스를 사용하는 방법이 있으며, 현재의 클래스가 다른 클래스로부터 이미 상속을 받고 있는 경우에 Runnable 인터페이스를 이용하여 스레드를 작성한다. 스레드의 우선순위 ① 각각의 스레드는 1~10 사이의 우선순위를 가질 수 있다. ② CPU는 실행 가능 상태의 스레드 중에서 우선순위가 높은 스레드를 먼저 수행한다.

스레드의 시작과 종료 스레드 동기화 Chapter 10 학습정리 ① 다중 스레드를 가진 프로그램에서 start() 메소드에 의해 스레드가 시작되면, 프로그램의 흐름이 단일 흐름에서 다중 흐름으로 전환된다. ② 다중 스레드는 동시 수행되는 개념이므로 스레드가 수행을 마치고 다시 단일 흐름으로 프로그램을 실행시키기 위해서는 join() 메소드를 이용하여 흐름을 하나로 만들어야 한다. 스레드 동기화 ① 다수 개의 스레드가 임계영역을 수행하기 위해서는 synchronized 메소드를 사용해야 한다. ② synchronized 메소드는 한순간에 하나의 스레드만 실행할 수 있다. ③ 한 스레드가 동기화 메소드를 수행 중이면 다른 스레드는 대기해야 한다.

Chapter 10 학습정리 스레드 사이의 통신 ① 스레드 사이의 통신을 위해 wait(), notify(), notifyAll() 메소드가 사용되며, 이러한 메소드는 Object 클래스에 제공하고 있다. ② notify() 메소드는 대기 상태에 있는 스레드를 깨우는 역할을 한다.