고수준 API 색인
***************

이 페이지에는 모든 고수준의 async/await 활성화된 asyncio API가 나열됩
니다.


태스크
======

asyncio 프로그램을 실행하고, 태스크를 만들고, 시간제한 있게 여러 가지
를 기다리는 유틸리티.

+----------------------------------------------------+----------------------------------------------------+
| "run()"                                            | 이벤트 루프를 만들고, 코루틴을 실행하고, 루프를 닫 |
|                                                    | 습니다.                                            |
+----------------------------------------------------+----------------------------------------------------+
| "Runner"                                           | A context manager that simplifies multiple async   |
|                                                    | function calls.                                    |
+----------------------------------------------------+----------------------------------------------------+
| "Task"                                             | Task 객체.                                         |
+----------------------------------------------------+----------------------------------------------------+
| "TaskGroup"                                        | A context manager that holds a group of tasks.     |
|                                                    | Provides a convenient and reliable way to wait for |
|                                                    | all tasks in the group to finish.                  |
+----------------------------------------------------+----------------------------------------------------+
| "create_task()"                                    | asyncio Task를 시작한 후 반환합니다.               |
+----------------------------------------------------+----------------------------------------------------+
| "current_task()"                                   | 현재 Task를 돌려줍니다.                            |
+----------------------------------------------------+----------------------------------------------------+
| "all_tasks()"                                      | 이벤트 루프의 아직 종료하지 않은 모든 태스크를 반  |
|                                                    | 환합니다.                                          |
+----------------------------------------------------+----------------------------------------------------+
| "await" "sleep()"                                  | 몇 초 동안 잠잡니다.                               |
+----------------------------------------------------+----------------------------------------------------+
| "await" "gather()"                                 | 여러 가지를 동시에 예약하고 기다립니다.            |
+----------------------------------------------------+----------------------------------------------------+
| "await" "wait_for()"                               | 시간제한 있게 실행합니다.                          |
+----------------------------------------------------+----------------------------------------------------+
| "await" "shield()"                                 | 취소로부터 보호합니다.                             |
+----------------------------------------------------+----------------------------------------------------+
| "await" "wait()"                                   | 완료를 감시합니다.                                 |
+----------------------------------------------------+----------------------------------------------------+
| "timeout()"                                        | Run with a timeout. Useful in cases when           |
|                                                    | "wait_for" is not suitable.                        |
+----------------------------------------------------+----------------------------------------------------+
| "to_thread()"                                      | 별도의 OS 스레드에서 함수를 비동기적으로 실행합니  |
|                                                    | 다.                                                |
+----------------------------------------------------+----------------------------------------------------+
| "run_coroutine_threadsafe()"                       | 다른 OS 스레드에서 코루틴을 예약합니다.            |
+----------------------------------------------------+----------------------------------------------------+
| "for in" "as_completed()"                          | "for" 루프로 완료를 감시합니다.                    |
+----------------------------------------------------+----------------------------------------------------+

-[ 예제 ]-

* 여러 가지를 병렬로 실행하기 위해 asyncio.gather() 사용하기.

* 시간제한을 주기 위해 asyncio.wait_for() 사용하기.

* 취소.

* asyncio.sleep() 사용하기.

* 주 태스크 설명서 페이지를 참조하십시오.


큐
==

큐는 여러 asyncio 태스크 간에 작업을 분산하고, 연결 풀과 pub/sub 패턴
을 구현하는 데 사용해야 합니다.

+----------------------------------------------------+----------------------------------------------------+
| "Queue"                                            | FIFO 큐.                                           |
+----------------------------------------------------+----------------------------------------------------+
| "PriorityQueue"                                    | 우선순위 큐.                                       |
+----------------------------------------------------+----------------------------------------------------+
| "LifoQueue"                                        | LIFO 큐.                                           |
+----------------------------------------------------+----------------------------------------------------+

-[ 예제 ]-

* 여러 태스크로 작업부하를 분산하는데 asyncio.Queue 사용하기.

* 큐 설명서 페이지도 참조하십시오.


서브 프로세스
=============

서브 프로세스를 생성하고 셸 명령을 실행하는 유틸리티.

+----------------------------------------------------+----------------------------------------------------+
| "await" "create_subprocess_exec()"                 | 서브 프로세스를 만듭니다.                          |
+----------------------------------------------------+----------------------------------------------------+
| "await" "create_subprocess_shell()"                | 셸 명령을 실행합니다.                              |
+----------------------------------------------------+----------------------------------------------------+

-[ 예제 ]-

* 셸 명령 실행하기.

* 서브 프로세스 API 설명서도 참조하십시오.


스트림
======

네트워크 IO로 작업하는 고수준 API

+----------------------------------------------------+----------------------------------------------------+
| "await" "open_connection()"                        | TCP 연결을 만듭니다.                               |
+----------------------------------------------------+----------------------------------------------------+
| "await" "open_unix_connection()"                   | 유닉스 소켓 연결을 만듭니다.                       |
+----------------------------------------------------+----------------------------------------------------+
| "await" "start_server()"                           | TCP 서버를 시작합니다.                             |
+----------------------------------------------------+----------------------------------------------------+
| "await" "start_unix_server()"                      | 유닉스 소켓 서버를 시작합니다.                     |
+----------------------------------------------------+----------------------------------------------------+
| "StreamReader"                                     | 네트워크 데이터를 수신하는 고수준 async/await 객체 |
|                                                    | .                                                  |
+----------------------------------------------------+----------------------------------------------------+
| "StreamWriter"                                     | 네트워크 데이터를 보내는 고수준 async/await 객체.  |
+----------------------------------------------------+----------------------------------------------------+

-[ 예제 ]-

* 예제 TCP 클라이언트.

* 스트림 API 설명서도 참조하십시오.


동기화
======

태스크에 쓸 수 있는 threading과 유사한 동기화 프리미티브.

+----------------------------------------------------+----------------------------------------------------+
| "Lock"                                             | 뮤텍스 록.                                         |
+----------------------------------------------------+----------------------------------------------------+
| "Event"                                            | 이벤트 객체.                                       |
+----------------------------------------------------+----------------------------------------------------+
| "Condition"                                        | 조건 객체.                                         |
+----------------------------------------------------+----------------------------------------------------+
| "Semaphore"                                        | 세마포어.                                          |
+----------------------------------------------------+----------------------------------------------------+
| "BoundedSemaphore"                                 | 제한된 세마포어.                                   |
+----------------------------------------------------+----------------------------------------------------+
| "Barrier"                                          | 장벽 객체.                                         |
+----------------------------------------------------+----------------------------------------------------+

-[ 예제 ]-

* asyncio.Event 사용하기.

* asyncio.Barrier 사용하기.

* asyncio 동기화 프리미티브의 설명서도 참조하십시오.


예외
====

+----------------------------------------------------+----------------------------------------------------+
| "asyncio.CancelledError"                           | Task가 취소될 때 발생합니다. "Task.cancel()"도 참  |
|                                                    | 조하십시오.                                        |
+----------------------------------------------------+----------------------------------------------------+
| "asyncio.BrokenBarrierError"                       | Barrier 가 깨질 때 발생합니다. "Barrier.wait()"도  |
|                                                    | 참조하십시오.                                      |
+----------------------------------------------------+----------------------------------------------------+

-[ 예제 ]-

* 취소 요청 시에 코드를 실행하기 위해 CancelledError 처리하기.

* asyncio 전용 예외의 전체 목록도 참조하십시오.
