Thread-safe ํ ์๋ฃ๊ตฌ์กฐ | ็บฟ็จๅฎๅ จ็ๆฐๆฎ็ปๆ
์ฌ๋ฌ๊ฐ์ ์ค๋ ๋๊ฐ ๋์์ ์ ๊ทผํด๋ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ ์ข ๋ฅ.
-
Concurrent data structures
๋์์ฑ ์๋ฃ๊ตฌ์กฐ ๅนถๅๆฐๆฎ็ปๆ
์ฌ๋ฌ๊ฐ์ ์ค๋ ๋์์ ๋์์ ์ ๊ทผํด๋ ์์ ํ๊ฒ ๋์ฐฉ.
- e.g.
- ConcurrentHashMap
- ๋๊ธฐํ๋ ๋ฒํท ๋ถํ ๋ฐฉ์์ ์ฌ์ฉ, ๊ฒฝํฉ์ ์ค์.
- ConcurrentLinkedQueue
- ์์์ ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ Queue ์ ์์ดํ ์ ์ถ๊ฐ/์ญ์ .
- ConcurrentSkipListMap
- ConcurrentHashMap
- e.g.
-
Synchroinized data structures
๋๊ธฐํ ์๋ฃ๊ตฌ์กฐ ๅๆญฅๆฐๆฎ็ปๆ
- e.g.
- Synchronized lists
- Synchronized stacks
- Synchronized queues
- e.g.
-
Immutable data structures
๋ถ๋ณ ์๋ฃ๊ตฌ์กฐ ไธๅฏๅๆฐๆฎ็ปๆ
- e.g.
- ImmutableMap
- ํ๋ฒ ์์ฑ๋๋ฉด key-value ๊ฐ ๋ณ๊ฒฝ X.
- ImmutableList
- ์์ ์ถ๊ฐ, ์ ๊ฑฐ, ๋ณ๊ฒฝ X.
- read ์์ ์ด ๋ง์ ์ํฉ์ ์ ์ฉ.
- ImmutableMap
- e.g.
-
Lock-free data structures
- e.g.
- Lock-free stacks
- Lock-free queue
- e.g.
-
Wait-free data structures
- e.g.
- Wait-free stacks
- lock ๊ธฐ๋ค๋ฆผ ์์ด stack ์ ์ ๊ทผํ์ฌ push/pop ์ฐ์ฐ ์ํ.
- ์ํ์ฑ:
- ๋ฉ๋ชจ๋ฆฌ ๋์
- ์ฐ์ ์์ ์ญ์
- ์ฒ๋ฆฌ๋ ๊ฐ์
- Wait-free queue
- Wait-free stacks
- e.g.