diff --git a/topics/basics/architectural_overview/threading/threading_model.md b/topics/basics/architectural_overview/threading/threading_model.md index 5eace323e..f2ec4f208 100644 --- a/topics/basics/architectural_overview/threading/threading_model.md +++ b/topics/basics/architectural_overview/threading/threading_model.md @@ -69,26 +69,30 @@ This is implemented with a single application-wide [read-write (RW) lock](https: If a thread requires accessing a data model, it must acquire one of the locks: -
Read Lock | -Write Intent Lock | -Write Lock | ++ | Read Lock | +Write Intent Lock | +Write Lock |
Allows a thread for reading data. | -Allows a thread for reading data and potentially upgrade to the write lock. | -Allows a thread for reading and writing data. | +Allows for: | +Reading data | +Reading data and potentially upgrade to the write lock | +Reading and writing data |
Can be acquired from any thread concurrently with other read locks and write intent lock. | -Can be acquired from any thread concurrently with read locks. | -Can be acquired only from EDT concurrently with a write intent lock acquired on EDT. | +Can be acquired from: | +Any thread concurrently with other read locks and write intent lock | +Any thread concurrently with read locks | +Only from EDT concurrently with a write intent lock acquired on EDT |
Can't be acquired if a write lock is held on another thread. | -Can't be acquired if another write intent lock or write lock is held on another thread. | -Can't be acquired if any other lock is held on another thread. | +Can't be acquired if: | +A write lock is held on another thread | +Another write intent lock or write lock is held on another thread | +Any other lock is held on another thread |