CSE
-
[Java] 멀티 스레드 - 상태 & 상태 제어CSE/Java 2015. 12. 12. 16:11
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 스레드 상태 스레드 객체를 생성하고, start() 메소드를 호출하면 곧바로 스레드가 실행되는 것처럼 보이지만 사실은 대기 상태가 됩니다. 실행 대기 상태란 아직 스케줄링 되지 않아서 실행을 기다리고 있는 상태를 말합니다. 실행 대기 상태에 있는 스레드 중에서 스케줄링으로 선택된 스레드가 CPU를 점유하고 run() 메소드를 실행하는데, 이를 실행(Running) 상태라고 합니다. 실행 상태의 스레드는 run() 메소드를 모두 실행하기 전에 스케줄링에 의해 다시 실행 대기 상태로 돌아갈 수 있습니다. 실행 상태에서 ..
-
[Java] 멀티 스레드 - 우선순위, 동기화 메소드CSE/Java 2015. 12. 12. 14:26
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 스레드 우선순위 멀티 스레드는 동시성(Concurrency) 또는 병렬성(Parallelism)으로 실행되기 때문에 이 용어들에 대해 정확히 이해하는 것이 좋습니다. 동시성은 멀티 작업을 위해 하나의 코어에서 멀티 스레드가 번갈아가며 실행하는 성질을 말합니다. 병렬성은 멀티 작업을 위해 멀티 코어에서 개별 스레드를 동시에 실행하는 성질을 말합니다. 스레드의 개수가 코어의 수보다 많을 경우, 스레드를 어떤 순서에 의해 동시성으로 실행할 것인가를 결정해야 하는데, 이것을 스레드 스케줄링이라고 합니다. 스케줄링에 의해 스..
-
[Java] 멀티 스레드 - 작업 스레드CSE/Java 2015. 12. 12. 13:12
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 작업 스레드 생성과 실행 멀티 스레드로 실행하는 어플리케이션을 개발하려면 먼저 몇 개의 작업을 병렬로 실행할지 결정하고 각 작업별로 스레드를 생성해야 합니다. 어떤 자바 어플리케이션이건 메인 스레드는 반드시 존재하기 때문에 메인 작업 이외에 추가적인 병렬 작업의 수만큼 스레드를 생성하면 됩니다. 작업 스레드는 객체로 생성되기 때문에 java.lang.Thread 클래스가 필요합니다. 직접 객체화해서 생성해도 되지만, Thread를 상속하여 하위 클래스로 만들어 사용할 수 있습니다. Thread 클래스로부터 직접 생성..
-
[Java] 멀티 스레드CSE/Java 2015. 12. 12. 12:07
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 멀티 스레드 개념 운영체제에서 실행 중인 하나의 어플리케이션을 프로세스(process)라고 부릅니다. 실행에 필요한 메모리를 할당받아 어플리케이션의 코드를 실행하게 됩니다. 다음은 멀티 프로세스와 그에 따른 싱글/멀티 스레드를 그림으로 보겠습니다. 멀티 프로세스는 운영체제에서 할당받은 자신의 메모리를 가지고 실행하기 때문에 서로 독립적입니다. 따라서 하나의 프로세스에서 오류가 발생해도 다른 프로세스에게 영향을 끼치지 않습니다. 하지만 멀티 스레드는 하나의 프로세스 내부에서 생성되기 때문에 하나의 스레드가 예외를 발생..
-
[Python] 파이썬 입문 3(문자열, 리스트)CSE/Python 2015. 12. 11. 15:04
1. 파이썬 입문 1-1. 문자열 파이썬에서 문자열은 작은 따옴표, 큰 따옴표, 삼중 따옴표로 문자열을 만들 수 있습니다. 1234hi = 'hello python'sex = "Female"country = """Seoul""" cs 당연한 얘기지만 문자열 시작과 끝 부분의 따옴표는 같은 종류로 떨어져야 합니다. 파이썬에서 또한 삼중 따옴표가 유용하게 쓰이는 경우가 있습니다. 나머지 두 따옴표는 한 줄안에 논리적으로 있어야 하지만, 삼중 따옴표를 이용해서 아래와 같이 문자열을 담을 수 있습니다. 1234print ''' Content-type: text/html Hello My World Click here! '''Colored by Color Scriptercs 파이썬 문자열은 여느 언어의 색인과 마찬..
-
[Python] 파이썬 입문CSE/Python 2015. 12. 11. 12:32
1. 파이썬 입문 초기 파이썬 소개를 통해 파이썬에 대해 알아보도록 하겠습니다. 이번 장에서는 변수, 표현식, 제어 흐름, 함수, 생성기, 클래스, 입출력 정도의 개념을 다루도록 하겠습니다. 본 강좌는 파이썬 2.7 버전 기준으로 설명된 강좌입니다. 1-1. 파이썬에서 Hello World 출력하기 가장 먼저 출력문에 대해 알아보도록 합니다. 파이썬 실행 초기 화면입니다. 실행법은 cmd 창에 'python' 입력하시면 됩니다. >>> 라인에 아래와 같은 코드를 작성합니다. 1print 'Hello Python World!'cs 간단히 출력된 모습이 보일것 입니다. 1-2. 간단한 계산하기 파이썬은 대화식 모드이기에 계산기로 사용하기 유용합니다. 여기에 언더바(_)를 하면 기존 연산 결과를 사용하여 연산..
-
[Tizen] 타이젠(Tizen) 개발환경 구축 !CSE/Tizen 2015. 10. 8. 09:05
타이젠 개발환경 구축을 시작하겠습니다. 설치 이전에 * 자바 JDK 를 운영체제에 맞게 설치하여 주시길 바랍니다. 포스팅 작성 날짜 기준으로 2.3.1 SDK 입니다. https://developer.tizen.org/ko/development/tools/download?langredirect=1 위 링크에 접속해서 운영체제에 맞게 SDK 설치 파일을 받아주시길 바랍니다. 다운 받아서 실행시키면 아래와 같이 구성되어 있습니다. Install 버튼을 클릭하여 설치를 진행합니다. 웨어러블 디바이스까지 개발을 하시길 원하시면 아래 옵션을 체크하셔서 설치를 진행하시길 바랍니다. 라이센스 동의를 구하는 화면입니다. 지체없이 Install 버튼을 클릭합니다. Window 계열에선 아래와 같은 가속화 실행 관리자가 ..