์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- xv6
- ์ฝ๋ฉํ ์คํธ์ค๋น
- 99ํด๋ฝ
- ๋ฐ์ดํฐ ์ ์ก
- ์ค๋ ๋
- tcp ์ธ๊ทธ๋จผํธ
- ํญํด99
- ํ ํฐ ๋ฒ์ค
- ํ๋ก์ด๋์์
- ํ๋ ์ ๊ตฌ์กฐ
- ๋น์ฃผ๊ธฐ์ ํธ
- ๊ฐ๋ฐ์์ทจ์
- java thread
- leetcode
- reducible
- ์ค๋ธ์
- well known ํฌํธ
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- i-type
- ์ฃผ๊ธฐ์ ํธ
- ์ฐ๋ถํฌdb
- git merge
- til
- IEEE 802
- mariadb
- ์ค๋ฅ๊ฒ์ถ
- ์์๋ฒํธ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ค๋ฅ์ ์ด
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- Today
- Total
๋ชฉ๋กjava thread (3)
Unfazedโ๏ธ๐ฏ
Java์์๋ ์ค๋ ๋๋ฅผ ์์ฑํ๋ ๋ ๊ฐ์ง ๋ฐฉ์์ด ์๋ค.1. Runnable ์ธํฐํ์ด์ค ๊ตฌํ ๋ฐฉ์๋ณ๋์ Runnable ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ ์ด๋ฅผ Thread ํด๋์ค์ ์์ฑ์์ ์ ๋ฌํ์ฌ ์ค๋ ๋๋ฅผ ์์ฑํ๋ค.Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ์์ ์ ์ค๋ ๋๋ก๋ถํฐ ๋ถ๋ฆฌํ๋ ๊ฐ์ฒด์งํฅ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ด๋ค.์ด์ ๊ฒ์๊ธ์์ ๋ค๋ฃฌ ๋ฐฉ์์ผ๋ก ์ฝ๋์ ๋ก์ง์ ๋ถ๋ฆฌํด์ ์์ฑํ ์ ์๋ค.1-1. ๊ตฌํ ๋ฐฉ์Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค๋ฅผ ์์ฑํ๊ณ run() ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ํ๋ค. ์ด run() ๋ฉ์๋ ์์ ์ค๋ ๋๊ฐ ์คํํ ๋ก์ง ์์ฑํ๋ค.์์ฑํ Runnable ๊ตฌํ์ฒด์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค.Thread ํด๋์ค์ ์์ฑ์์ Runnable ์ธ์คํด์ค๋ฅผ ์ ๋ฌํ์ฌ ์๋ก์ด Thread ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.์์ฑ๋ Thread ๊ฐ์ฒด์..

1. ๋ฉํฐ์ค๋ ๋ฉ์ ๊ฐ๋ ๋ฉํฐ์ค๋ ๋ฉ์ ํ๋์ ํ๋ก๊ทธ๋จ ๋ด์์ ์ฌ๋ฌ ์์ ์ ๋์์ ์คํํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฒ์ด๋ค. Java์์๋ Thread ํด๋์ค์ Runnable ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด ๋ฉํฐ์ค๋ ๋๋ฅผ ๊ตฌํํ ์ ์๋ค.์ค๋ ๋๋ฅผ ํ์ฉํ๋ฉด CPU ์์์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐ ์๋ต์ฑ์ ๋์ผ ์ ์๋ค.2. ์๋ก์ด ์ค๋ ๋ ์์ฑํ๊ธฐJava์์ ์๋ก์ด ์ค๋ ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๋จผ์ Thread ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค. ์์ฑ์์ Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๊ณ , Runnable ์ธํฐํ์ด์ค์ run() ๋ฉ์๋์ ์ค๋ ๋๊ฐ ์คํํ ๋ก์ง์ ์์ฑํ ์ ์๋ค.Thread thread = new Thread(new Runnable() { @Override public void run() { ..
Thread safety์ค๋ ๋ ์์ ์ฑ์ ์ฌ๋ฌ ์ค๋ ๋์ ์ํด ๋์์ ์คํ๋๋ ๊ฒฝ์ฐ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ ์ฝ๋ ๋ถ๋ถ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ ์ ์๋ ์ฑ์ง์ ๋งํ๋ค. ์ฌ๋ฌ ์ค๋ ๋๊ฐ ๋์์ ์ฝ๋๋ฅผ ์คํํด๋ ๋ฐ์ดํฐ ์์์ด๋ ์์์น ๋ชปํ ํ๋์ด ๋ฐ์ํ์ง ์๋๋ค๋ฉด ์ค๋ ๋์ ์์ ํ๋ค๊ณ ํ ์ ์๋ค.์ด์ ๋ฐํด, ์ค๋ ๋ ์คํ์ ์์๋ ํ์ด๋ฐ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ๊ฒฝ์ ์ํ์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ค๋ ๋์ ์์ ํ์ง ์๋ค. ์ค๋ ๋์ ์์ ํ์ง ์์ ์ฝ๋๋ ๋์์ ๋๋ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ count ๋ณ์๋ฅผ ์ฌ์ฉํ ์์๋ฅผ ๋ณด์.0์ผ๋ก ์ด๊ธฐํ๋ count ๋ณ์๊ฐ ์๊ณ 2๊ฐ์ ์ค๋ ๋๊ฐ 'increment()' ๋ฉ์๋๋ฅผ ๋์์ ํธ์ถํ๋ ์ํฉ์ ์๊ฐํด ๋ณด์public class Counter{..