형 활용
스레드를 만들고 관리하는 것은 여러 프로그래밍 언어에서 동시성 코드를 작성할 때 가장 어려운 부분 중 하나다. 언제 스레드를 만들 것인가를 아는 것 못지 않게 얼마나 많은 스레드를 만드는지를 아는 것도 중요하다. 또한 I/O 작업 전용 스레드와 CPU 바운드 작업을 처리하는 스레드가 있어야 하는데, 스레드를 통신/동기화하는 것은 그 자체로 어려운 일이다.
코틀린은 동시성 코드를 쉽게 구현할 수 있는 고급 함수와 기본형을 제공한다.
- 스레드는 스레드 이름을 파라미터로 하는 newSingleThreadContext()를 호출하면 생성된다. 일단 생성되면 필요한 만큼 많은 코루틴을 수행하는 데 사용할 수 있다.
- 스레드 풀은 크기와 이름을 파라미터로 하는 newFixedThreadPoolContext()를 호출하면 쉽게 생성할 수 있다.
- CommonPool은 CPU 바운드 작업에 최적인 스레드 풀이다. 최대 크기는 시스템의 코어에서 1을 뺀 값이다.
- 코루틴을 다른 스레드로 이동시키는 역할은 런타임이 담당한다.
- 채털, 뮤텍스 및 스레드 한정과 같은 코루틴의 통신과 동기화를 위해 필요한 많은 기본형과 기술이 제공된다.

## 유연성
코틀린은 간단하면서도 유연하게 동시성을 사용하게 해주는 기본형을 많이 제공한다.
코틀린에서 동시성 프로그래밍을 수행하는 방법이 많음을 알게 될 것이다. 다음은 책 전체에서 살표볼 주제들이다.
- 채널(channels): 코루틴 간에 데이터를 안전하게 보내고 받는 데 사용할 수 있는 파이프다.
- 작업자풀(worker pools): 많은 스레드에서 연산 집합의 처리를 나눌 수 있는 코루틴의 풀이다.
- 액터(actors): 채널과 코루틴을 사용하는 상태를 감싼 래퍼로 여러 쓰레드에서 상태를 안전하게 수정하는 메커니즘을 제공한다.
- 뮤텍스(mutexes): 크리티컬 존 영역을 정의해 한 번에 하나의 스레드만 실행할 수 있도록 하는 동기화 메커니즘. 크리티컬 존에 액세스하려는 코루틴은 이전 코루틴이 크리티컬 존을 빠져나올 때까지 일시 정지된다.
- 스레드 한정(Thread confinement): 코루틴의 실행을 제한해서 지정된 스레드에서만 실행하도록 하는 기능이다.
- 생성자(반복자 및 시퀀스: 필요에 따라 정보를 생성할 수 있고 새로운 정보가 필요하지 않을 때 일시 중단될 수 있는 데이터 소스다.)

모든 것은 코틀린에서 동시성 코드를 작성할 때 수시로 사용할 수 있는 도구이며, 그 범위가 용례는 동시성 코드를 구현할 때 올바른 선택을 하는 데 도움이 될 것이다.Thursday, 02 Apr 2009 08:52 AM
DETROIT -- General Motors Corp (GM.N: Quote, Profile, Research, Stock Buzz) has asked for $2.6 billion of low interest government loans to support the development of three new hybrid vehicles, according to a business plan update released on Wednesday.
GM's loan request, which would help develop two spinoffs from its all-electric Chevrolet Volt, raises to $10.3 billion the aid it is seeking under a U.S. Energy Department program designed to support development of fuel-efficient vehicles.
The request for low-interest taxpayer backed loans was made on Monday to the U.S. Treasury Department, GM said. It was the automaker's third request for loans under the program.
It was also the first time GM has confirmed that it intended to move ahead with production of variants of the Volt, a battery-powered car that will carry a small, 1.4-liter engine as a generator designed to kick in after 40 miles. (64 km)
The Volt, which is scheduled to go into production in late 2010, remains one of the most closely watched upcoming GM vehicles and has been central to the automaker's attempt to reinvent itself in the eyes of consumers.
In January, GM showed off a concept version of a Cadillac called the Converj, which was based on the electric-drive system the automaker has developed for the Volt.
GM executives have said the top U.S. automaker plans to use the Volt system in other other models to raise volume and bring down the cost of the lithium-ion batteries the vehicles require.