1e41f4b71Sopenharmony_ci# Efficient Concurrent Programming
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciConcurrency refers to the capability of processing multiple tasks in the same period. To improve the response speed and frame rate of applications and prevent time-consuming tasks from blocking the main thread, the system provides two policies: asynchronous concurrency and multithread concurrency.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ciAsynchronous concurrency means that an action in asynchronous code is suspended and will continue later. Only one segment of code is being executed at a time.
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciMultithread concurrency allows multiple segments of code to be executed at a time. When the main thread continues to respond to user operations and update the UI, time-consuming operations are performed in the background to avoid application freezing.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ciConcurrency is used in a variety of scenarios, including a single I/O task, CPU intensive task, I/O intensive task, synchronous task, and the like. You can select a concurrency policy based on your scenario.
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ciArkTS provides the following mechanisms to support asynchronous concurrency and multithread concurrency:
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci- Using asynchronous concurrency for development
14e41f4b71Sopenharmony_ci    - [Asynchronous Concurrency Overview](../arkts-utils/async-concurrency-overview.md)
15e41f4b71Sopenharmony_ci    - [Single I/O Task Development](../arkts-utils/single-io-development.md)
16e41f4b71Sopenharmony_ci- Using multithread concurrency for development
17e41f4b71Sopenharmony_ci    - [Multithread Concurrency Overview](../arkts-utils/multi-thread-concurrency-overview.md)
18e41f4b71Sopenharmony_ci    - [Comparison Between the Actor and Memory Sharing Models](../arkts-utils/actor-model-development-samples.md)
19e41f4b71Sopenharmony_ci    - [Comparison Between TaskPool and Worker](../arkts-utils/taskpool-vs-worker.md)
20e41f4b71Sopenharmony_ci    - [CPU Intensive Task Development](../arkts-utils/cpu-intensive-task-development.md)
21e41f4b71Sopenharmony_ci    - [I/O Intensive Task Development](../arkts-utils/io-intensive-task-development.md)
22e41f4b71Sopenharmony_ci    - [Synchronous Task Development](../arkts-utils/sync-task-development.md)
23