Subject : Thread Written by: 김형근,류명운.

Slides:



Advertisements
Similar presentations
10장. 시기별 학급경영 11조 염지수 이 슬 권용민 신해식.
Advertisements

일본 근세사. (1) 에도막부의 개창 ( ㄱ ) 세키가하라의 전투 (1600) - 히데요시의 사후 다섯 명의 다이로 ( 大老 ) 가운데 최대 영지 (250 만석 ) 를 보유하고 있던 도쿠가와 이에야스가 급부상. 이에 이에야스와 반목해 온 이시다 미쓰나리 ( 石田三成 ),
아니마 / 아니무스 송문주 조아라. 아니마 아니마란 ? 남성의 마음속에 있는 여성적 심리 경향이 인격화 한 것. 막연한 느낌이나 기분, 예견적인 육감, 비합리적인 것에 대 한 감수성, 개인적인 사랑의 능력, 자연에 대한 감정, 그리.
대구가톨릭대학교 체육교육과 06 학번 영안중학교 체육교사 신웅섭 반갑습니다. 반야월초등학교 축구부 대륜중학교 축구부 대륜고등학교 대구가톨릭대학교 차석 입학 대구가톨릭대학교 수석 졸업 2014 년 경북중등임용 체육 차석 합격 영안중학교 체육교사 근무 소개.
중등특수교육과 엄승현 이영재 이지수 속요에 대하여.
일장 - 1 일 24 시간 중의 명기 ( 낮 ) 의 길이 ( 밤은 암기, 낮은 명기 ) 광주기성 - 하루 중 낮의 길이의 장단에 따라 식물의 꽃눈 형성이 달라지는 현상 일장이 식물의 개화현상을 조절하는 중요한 요인 단일식물 - 단일조건에서 개화가 촉진되는 식물 장일식물.
2 학년 6 반 1 조 고은수 구성현 권오제 김강서.  해당 언어에 본디부터 있던 말이나 그것에 기초하여 새로 만들어진 말  어떤 고장 고유의 독특한 말  Ex) 아버지, 어머니, 하늘, 땅.
아름다운 이들의 행복한 길음안나의 집.
2014년도 교원 및 기간제교사 성과상여금 전달교육 개 회 국기에 대한 경례 - 인사말
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
선진 고양교육 “유아교육 행정 업무 연수” 유치원 회계실무 및 유아학비 연수 경기도고양교육청.
공교육 정상화 및 선행학습 금지 학부모 연수 부천송일초등학교.
쯔쯔가무시 예방수칙을 실천하세요! 한국산업안전보건공단 광주지역본부.
고전에서 미래를 읽다(5) 영양괘각(羚羊掛角) 영양이 훌쩍 뛰어 나뭇가지에 뿔을 걸다
묵자 겸애, 비명, 비공, 상현, 상동, 천지, 명귀, 삼표 법.
교재:C언어로 쉽게 풀어 쓴 자료구조 (생능출판사, 천인국저)
내 아이를 위한 구강관리.
제16장 원무통계 • 분석 ☞ 통계란 특정의 사실을 일정한 기준에 의하여 숫자로 표시한 것을 말한다.통계로서 활용할 수 있는 조건으로는 ① 동질성을 지녀야 하고 ② 기준이 명확하고 ③ 계속성이 지속되어야 하며 ④ 숫자로 표시하여야 한다 경영실적의.
정보통신실습 및 특강(5)
서울지방세무사회 부가세 교육 사진클릭-자료 다운 세무사 김재우.
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
명품 JAVA Essential.
치매의 예방 김 은민 윤금 노인요양원 치매의.
제 1 장. JAVA란 작성자 : NLIP.
System Call Linux Kernel 수업 3번째.
운영체제 레프토 (4장 CPU 스케줄링) b반 박상수.
프로세스 관리.
[ 단원 08 ] 예외처리와 스레드.
Power Java 제4장 자바 프로그래밍 기초.
임베디드 운영체제 (리눅스 중심) Lecture #2.
1. 화면 및 메뉴소개 ▣ 온라인사업지원시스템 소개 ▶ 온라인사업지원시스템이란
CPU스케줄링(CPU Scheduling) ~
Java의 정석 제 12 장 쓰레드(thread) Java 정석 남궁성 강의
최용술 장 Thread 최용술
명품 JAVA Essential.
10장 다중 스레드 10.1 스레드 개요 10.2 Thread 클래스 10.3 스레드 생성
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
운영체제 (Operating Systems) (Multi-Thread Programming)
Subject : Thread Written by: 김형근,류명운.
( Overview of the Course Kwangman Man ( SangJi University.
마산에 대하여 만든이 : 2204 김신우, 2202 권성헌.
제2장 프로세스 이나현.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
1. 화면 및 메뉴소개 ▣ 온라인사업지원시스템 소개 ▶ 온라인사업지원시스템이란
2017년 1학기 국가근로장학금 장학생 교육 1.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
고구려,백제,신라의 건국과 발전 Start!
Chap10 다중 스레드 Section 1 : 스레드 개요 Section 2 : Thread 클래스와 스레드 생명주기
자바 5.0 프로그래밍.
Linux/UNIX Programming
Linux/UNIX Programming APUE (Thread Programming)
1 [100인의 멘토] 학교로 찾아가는 진로교육 □ 목적 인천지역 자유학기제 대상 청소년에게 건설관련 전문분야에 대한 진로탐색을 통해 체계적인 진로교육을 실시 □ 개요 ○ 참가대상: 18개 학교(학교당 1학급 기준) *협의가능 ○ 활동장소 : 각 선정 학교.
속요 국어국문학과 김보민 국어국문학과 조나현 제목 창의적으로 바꿔야 함.
제8장 쓰레드 프로그래밍.
제 2장 프로세스 관리와 CPU 스케줄링 2.1 프로세스의 개념 2.2 CPU 스케줄링의 목적과 유형
6장 마케팅 조사 박소현, 김중호, 박기찬.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
한밭대학교 창업경영대학원 회계정보학과 장 광 식
양궁게임 게임기획서 1차안 2011/01/17 최가운.
음양오행과 물리학 조 원 : 김용훈, 양범길, 박수진, 윤진희, 이경남, 박미옥, 박지선 (11조)
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
이야기 치료에 대하여 <8조 학문적 글쓰기 발표> 주희록 최은지
자바 프로그래밍 Thread를 이용한 애니메이션 서울호서전문학교 게임프로그램개발과.
Windows System Programming
착한가게 광고 제안 착한 매출, 착한 광고! 돈벌리는 착한 어플!.
2011학년도 중국 현지조사 WORKSHOP 부산외국어대학교 GLE.
중국문학개론 한부와 겅건안문학 중어중국학과 ㅇ이진원 한부와 건안문학.
Presentation transcript:

Subject : Thread Written by: 김형근,류명운

본 발표 내용은 스레드의 개념과 통신 프로그램에서 사용되는 스레드 내용입니다.

스레드의 개념 이해 OS Process Multi Thread Single Thread

자바에서의 스레드란? 자바는 비동기적 작동 방식(독립스레드)에 대한 개념이 없음 하지만, 자바가 실행되는 기반인 자바가상머신(JVM) 자체가 하나의 프로세스 이기 때문에 언어적 차원에서 스레드의 동기화 지원이 가능 따라서 자바에서의 스레드란 JVM(Java Virtual Machine)에 의해 호출될 수 있는 가장 작은단위 간단한 프로그램을 작성할 때에도 스레드를 사용 대부분의 API 클래스들은 이미 내부적으로 스레드를 구현하여 사용 - ex)소켓

메인스레드 자바에서의 스레드 종류 워킹스레드 (시스템스레드) (사용자스레드) 여태까지 우리는 자바의 스레드를 사용하여 프로그램을 짜왔음. -> main 메소드(main 스레드) 하지만 독립스레드란 메인스레드 외에 별도로 존재하는 스레드를 뜻한다. 이와 좀 다른 데몬스레드는 다른 스레드를 도와주기 위해 만들어지는 스레드이다. 데몬스레드의 특징은 메인스레드가 죽으면 같이 죽는다는 것이다. 데몬스레드는 스스로는 어떤 일도 수행할 수 없으며 다른 스레드와 같이 동작한다. 이러한 데몬스레드는 JVM에 의해 기본적으로 제공되는

단일스레드 멀티스레드 자바에서의 스레드 종류 (Single-thread) (Multi-thread) 여태까지 우리는 자바의 스레드를 사용하여 프로그램을 짜왔음. -> main 메소드(main 스레드) 하지만 독립스레드란 메인스레드 외에 별도로 존재하는 스레드를 뜻한다. 이와 좀 다른 데몬스레드는 다른 스레드를 도와주기 위해 만들어지는 스레드이다. 데몬스레드의 특징은 메인스레드가 죽으면 같이 죽는다는 것이다. 데몬스레드는 스스로는 어떤 일도 수행할 수 없으며 다른 스레드와 같이 동작한다. 이러한 데몬스레드는 JVM에 의해 기본적으로 제공되는

종속스레드 독립스레드 (데몬스레드) 자바에서의 스레드 종류 여태까지 우리는 자바의 스레드를 사용하여 프로그램을 짜왔음. -> main 메소드(main 스레드) 하지만 독립스레드란 메인스레드 외에 별도로 존재하는 스레드를 뜻한다. 이와 좀 다른 데몬스레드는 다른 스레드를 도와주기 위해 만들어지는 스레드이다. 데몬스레드의 특징은 메인스레드가 죽으면 같이 죽는다는 것이다. 데몬스레드는 스스로는 어떤 일도 수행할 수 없으며 다른 스레드와 같이 동작한다. 이러한 데몬스레드는 JVM에 의해 기본적으로 제공되는

자바에서의 스레드 Q&A 자바에서의 스레드 중 JVM에 의해 기본적으로 생성되는 스레드 외에 사용자에 의해 생성되는 스레드는 어떠한 경우인가? -> 사용자가 프로그램을 개발함에 있어 멀티스레드를 구현하기 위해 사용자에 의해 생성되는 스레드는 어떠한 종류가 있으며, 각 스레드는 어떠한 경우에 사용되는가? -> 독립스레드: 멀티스레드 프로그램을 위해 종속스레드: 독립스레드를 돕기 위해

3. Siㅇgle Thread Mulㅌi Thread 1. Thread Mㅔthod 2. Thread ㄹifecycle 3. Siㅇgle Thread Mulㅌi Thread 4. Thread in Chat ㅍrogram

Static void sleep(long mills) Thread Mㅔthod Thread의 메소드 내용 JVM에 의해 호출 개발자는 반드시 오버라이딩 void run() void start() JVM에 스레드 실행 시작 Run() 실행 void interrupt() 스레드 강제종료 다른 스레드에게 실행 양보 스케드 스케줄링 시행-> 다른 스레드 선택하여 실행 Static void yield() void join() 스레드가 종료할 때까지 기다린다. Static void sleep(long mills) 쓰레드는 mills 시간 동안 잔다. Mills의 단위는 밀리초 void setPriority(int n) 스레드의 우선순위 값을 n 변경

Thread ㄹifecycle 실행 ThreadB Object.notify(); Object.notifyAll(); Thread A = new Thread() NEW(탄생) Synchronized or I/O 작업요청 BLOCK(봉쇄) I/O작업완료 start() 실행 타임아웃 interrupt Join() Join TIME_WAITING RUNNABLE (준비) yield() 타임아웃 interrupt Run() 또는 JVM Scheduling Sleep() TIME_WAITING (시간대기) RUNNABLE (running, 실행 중) NEW - 스레드가 생성되었지만 아직 실행할 준비가 되지 않은 상태로 start() 메소드가 호출되면 RUNNABLE 상태가 된다. RUNNABLE - 스레드가 현재 실행되고 있거나 실행 준비되어 스케쥴링을 기다리는 상태 WAITING - 스레드가 어떤 Object 타입의 객체 a에 대해 a.wait()을 호출하고 무한 대기하면서 다른 스레드가 a.notify(), a.notifyAll()을 불러주기를 기다리고 있는상태 TIMED_WAITING - 스레드가 sleep(int n)을 홏풀하여 n밀리초 동안 잠을 자고 있는 상태 BLOCK - 스레드가 I/O(입출력)작업을 요청하여 I/O작업이 완료되기를 기다리는 상태 응용프로그램이 입출력 작업을 실행하면 JVM이 자동으로 현재 스레드를 BLOCK상태로 만든다. TERMINATED - 스레드가 종료한 상태로 더 이상 다른 상태로 변이할 수 없다. 스레드 동기화(Thread Synchronization) 공유데이터에 접근하고자 하는 다수의 스레드가 서로 순서대로 충돌 없이 공유데이터를  배타적으로 접근하기 위해 상호렵력하는 것인데요. 공유데이터를 다루는 프로그램코드를 임계 영역이라고 하고 임계 영역에 대한 멀티스레드의 동기화가 필요해요. 자바의 스레드 동기화를 위해서는 synchronized키워드가 필요한데요. synchronized 키워드는 자바에서 스레드 동기화를 위한 장치로 임의의 코드 블록을 동기화가 설정된 임계 영역으로 지정하는 것 Object.wait() WAITTING(대기) Object.notify(); Object.notifyAll(); ThreadB 종료

Thread in Chat ㅍrogram

Thread in Chat ㅍrogram

Thread in Chat ㅍrogram

Thread in Chat ㅍrogram 참고자료:http://deviant86.tistory.com/240

RㅔFERENCE http://deviant86.tistory.com/240 소스예제 http://noon.tistory.com/1450 http://yellowvirus.tistory.com/16 메인스레드 및 워킹스레드 관련 http://blog.naver.com/highkrs/220268316736 데몬스레드 관련 http://chihun0528.blog.me/90104286935 네이버지식백과/각 키워드의 개념 http://terms.naver.com/ 자바스레드에 대하여 http://cafe.naver.com/ccjmaster/112 자바가상머신 및 자바플랫폼에 대하여 http://cafe.naver.com/iwgg/1397 http://happyourlife.tistory.com/m/post/133# 자바스레드 관련 가장많은자료참고 자바 스레드 관련 http://kiwi99.tistory.com/12 석사졸업논문, 숙명여자대학원, 문세원 자바 병행 프로그램의 모니터링 시스템 하비 디텔, 폴 디텔, 데이빗쇼픈스 저, 송경희 역/ 김명섭 감수 운영체제론