Programming (464) 썸네일형 리스트형 1. 변수(1) - 파이썬 기본 자료형 / 문자열 [2] ○ 문자열에서의 연산 연산자설명예시+문자열 붙이기a = 'Hello'b = 'World' print(a + ' ' +b)> Hello World * 문자열 반복하기a = '-' *10print(a)> ---------- ○ 문자열에서의 인덱싱, 슬라이싱 파이썬에서도 문자열은 배열과 비슷한 속성을 갖습니다. 다음과 같이 문자열의 특정 문자 인덱스를 지정하거나 범위를 선택하여 지정(슬라이싱)할 수 있습니다. a = 'Hello World'print(a[2])lprint(a[0:3])Helprint(a[0:]) Hello Worldprint(a[:3]) Hel 슬라이싱에서 주의할 점은, 시작 인덱스 넘버는 포함하지만 종료 인덱스 넘버는 포함하지 않는다는 점입니다. ○ 문자열의 .. 1. 변수(1) - 파이썬 기본 자료형 / 문자열 [1] ○ python의 기본 자료형 파이썬에서의 기본적인 자료형은, 변수를 선언한 순간 결정됩니다. descriptionexample숫자형정수, 실수 등의 숫자를 다루는 자료형0 / 1.5 / -241문자열문자열를 다루는 자료형'example'리스트다른 자료형의 모음(배열과 유사)[1, 'example', 534]튜플리스트와 같지만 수정이 불가능함(1, 'example', 534)딕셔너리K와 V로 이루어진 자료형{'name' : 'example'} ○ python의 문자열 작성 4개의 방법 일반적인 프로그래밍 언어와 비슷한 방식으로 문자열을 작성할 수 있습니다. 특이한 부분은, ''' 또는 """를 사용하는 경우가 있다는 점이죠. 목적example'string'(작은 따옴표)문자열 안에 "를 .. 0. 설치 과정에서의 이슈 ○ 환경 변수 자동 입력 설치 과정에서 [Add Python to PATH]를 클릭해야, 이후에 명령 프롬포트 내에서 파이썬 실행이 가능합니다. ○ 설치 이후 실행과 종료 파이썬 설치 직후에는 윈도우 명령 프롬포트를 실행하여 CMD내에서 [pyhton]을 실행하여 파이썬을 실행합니다. 종료는 [quit( )]를 입력합니다. 이후에는 파이썬 설치 시 제공되는 IDLE를 사용합니다. ○ 환경 변수 미입력 이슈 처리 명령 프롬포트에서 python이 실행되지 않을 경우, 환경변수 처리를 진행해야 합니다. 메뉴를 검색하여 [계정의 환경 변수 편집]을 실행합니다. 여기서 [Path]를 편집하면 아래와 같이 Python 경로들을 확인할 수 있습니다. 이 경로를 직접 입력해주면 됩니다. 멀티 스레드(9) - 스레드 풀 4 : 블로킹 방식의 작업 완료 통보 1 작업 완료 통보는 블로킹 방식과 콜백 방식으로 나뉩니다. 우선, 블로킹 방식에 대해서 먼저 살펴보도록 하겠습니다. ExecutorService의 submit( ) 메서드는 매개값으로 준 Runnable 또는 Callable 작업을 스레드풀의 작업 큐에 저장하고 즉시 Future 객체를 리턴하게 됩니다. 리턴 타입메서드명(파라미터)설명Futuresubmit(Runnable task)- Runnable 또는 Callable을 작업 큐에 저장- 리턴된 Future를 통해 작업 처리 결과를 얻음 Future submit(Runnable task, V resutl) Future submit(Callable task) 여기서 Future 객체는 작업 결과가 아니라, 작업이 완료될 때까지 기다렸다가(=지연, 즉.. 멀티 스레드(9) - 스레드 풀 3 : 작업 생성과 처리 요청 2 앞선 아티클에서 살펴본 작업처리 요청과 관련된 자세한 내용을 더 살펴보겠습니다. 멀티 스레드(9) - 스레드 풀 3 : 작업 생성과 처리 요청 1○ 작업 생성 하나의 작업은 Runnable 또는 Callable 구현 클래스로 표현하게 됩니다. 두 구현 클래스의 차이는 리턴 값 유무의 여부인데, 아래 예시를 살펴보겠습니다. Runnable 구현 클래스Callablenozeroslope.tistory.com 작업 처리 요청은, ExecutorService의 작업 큐에 Runnable 또는 Callable 객체를 넣는 행위를 의미합니다. ExecutorService는 작업 처리 요청을 위해 당므 두 가지 종류의 메서드를 제공합니다. 리턴 타입메서드 명(파라미터)설명voidexecute(Runnabl.. 멀티 스레드(9) - 스레드 풀 3 : 작업 생성과 처리 요청 1 ○ 작업 생성 하나의 작업은 Runnable 또는 Callable 구현 클래스로 표현하게 됩니다. 두 구현 클래스의 차이는 리턴 값 유무의 여부인데, 아래 예시를 살펴보겠습니다. Runnable 구현 클래스Callable 구현 클래스Runnable task = new Runnable( ) { @Override public void run( ) { // 스레드가 처리할 내용 }}Callable task = new Callable)( ) { @Override public T call( ) throws Exception { // 스레드가 처리할 내용 return T; }} Runnable의 run( ) 메서드는 리턴값이 없고, Callab.. 멀티 스레드(9) - 스레드 풀 2 : 스레드 풀 생성 및 종료 3 ○ 스레드풀의 종료 스레드풀의 스레드는 기본적으로 데몬 스레드가 아니기에, main 스레드가 종료되더라도 작업을 처리하기 위해 계속 실행 상태를 유지하게 됩니다. 그래서 main( ) 메서드 실행이 끝나도 애플리케이션 프로세스가 종료되지 않습니다. 종료를 위해서는 스레드풀을 종료시켜 스레드들이 종료 상태가 되도록 처리해야 합니다. ExecutorService는 종료와 관련해, 다음 세 개의 메서드를 제공합니다. 리턴 타입메서드명(파라미터)설명voidshutdown( )현재 처리 중인 작업뿐만 아니라 작업 큐에 대기하고 있는 모든 작업을 처리한 뒤에 스레드폴을 종료한다.ListshutdownNow( )현재 작업 처리 중인 스레드를 interrupt해서 작업 중지를 시도하고, 스레드풀을 종료시킨다. 리턴.. 멀티 스레드(9) - 스레드 풀 2 : 스레드 풀 생성 및 종료 2 앞선 아티클에서 newCachedThreadPool( )로 생성한 스레드 풀에 대해서 살펴보았습니다. 이번에는 newFixedThreadPool(int nThreads)의 사용에 대해서 살펴보겠습니다. 멀티 스레드(9) - 스레드 풀 2 : 스레드 풀 생성 및 종료 1○ 스레드풀 생성 앞선 스레드풀 개념에서 설명했듯이, ExecutorService 인터페이스의 구현 객체는 Executors 클래스의 static 메서드를 이용해 생성하게 됩니다. 아래 두 가지 메서드 중 하나를 사용하nozeroslope.tistory.com newFixedThreadPool(int nThreads) 메서드로 생성된 스레드풀의 초기 스레드 개수는 역시 0개 입니다. 그리고 코어 스레드 수는 nThreads입니다... 이전 1 2 3 4 ··· 58 다음