> For the complete documentation index, see [llms.txt](https://vick7-education.gitbook.io/freshforfresh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vick7-education.gitbook.io/freshforfresh/lock-and-deadlock.md).

# Lock & Deadlock

Simple

## Lock

Một Lock xảy ra khi nhiều process cùng cố gắng truy cập vào cùng resource và cùng vào thời điểm đó. Process nào "lost" trong quá trình này phải chờ cho process đang sử dụng tài nguyên hoàn thành mới được sử dụng tài nguyên.

<figure><img src="https://www.baeldung.com/wp-content/uploads/2020/05/threads_lock-1024x504-1.png" alt=""><figcaption><p>Example</p></figcaption></figure>

## Deadlock

Deadlock xảy ra khi process đang chờ giữ tài nguyên mà process được chờ cần thiết để hoàn thành.

<figure><img src="https://blogs.sap.com/wp-content/uploads/2016/06/1_983641.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Cách tốt nhất tránh deadlock là tránh các quá trình giao tiếp với nhau như các cách trên.

Giảm nhu cầu lock bất cứ thứ gì nhiều nhất có thể.
{% endhint %}
