๋ชจ๋ฐ์ผ์์ ์ค๋ ๋ํ์ ๋๋ฆฌ๋ ค ํ์..
๊ณ์ฐํ ํจ์๋ย ManualResetEvent ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์๋ ํด๋์ค ๊ฐ์ฒด๋ค์ ๋ง๋ค๊ณ
ThreadPool.QueueUserWorkItem์ ๋๋ ธ์..
๊ณ์ฐํ ํจ์์ ๋๋ถ๋ถ์ ManualResetEvent.Set()์ ํธ์ถํ๊ณ
WaitHandler.WaitAll()๋ก ๋ค ๋๋ฌ๋ ํ์ธํ๋ ๋ฐฉ์์..
๊ทผ๋ฐ ์ด๊ฒ ์๋ํฐ๋ก๋ ์ ๋์๊ฐ๋๋ฐ ๋ชจ๋ฐ์ผ๋ก ๋น๋ํด๋ณด๋
WaitHandler.WaitAll()์ ์ฒ๋ฆฌํ๋๋ฐ๋ง 10ms๊ฐ ๊ฑธ๋ฆฌ๋ ๊ฑฐ์;;
ํจ์ ๋ด ๊ณ์ฐ์๊ฐ ์ ์ธํ๊ณ ๋ง์ง๋ง Set()์ผ๋ก๋ถํฐ WaitAll()์
์ง๋๊ธฐ๊น์ง ์ฌ๋ณด๋ 10ms๊ฐ ๋์์
๊ทธ๋์ ์ด๊ฑด ๊ฟ์ด๋ค ํ๊ณ ๋ฆฌ์
์ด๋ฒคํธ๋ง๊ณ bool๋ก ๊ฒ์ฌ๋ฅผ ํด๋ดค์..
ํด๋์ค ๊ฐ์ฒด์ ์ด๋ฒคํธ ๋์ bool ํ๋๋ฅผ ๋ง๋ค๊ณ
๊ณ์ฐ ํจ์์ ๋์ bool์ true๋ก ํ๊ฒ ์ค์ ํจ.
๋ฉ์ธ ์ค๋ ๋์์๋ ์ค๋ ๋ฉ์ ์์ํด์ฃผ๊ณ ํด๋์ค ๊ฐ์ฒด๋ค ๋ฃจํ๋ฅผ
๋๋ฉด์ ์ ๋ถ๋ค true๋์ฐ๋ฉด ๋ชจ๋ ๋๋ ๊ฑฐ๋ก ์ทจ๊ธ ํด๋ดค์.
๊ทธ๋ฌ๋๋ ์ง์ฐ์์ด ์ ๋์ํจ..
๊ทผ๋ฐ ๋ด๊ฐ ๊ธฐ์ด๊ฐ ๋ธ๋ฆฌ๋ ๋ฌด๊ทผ๋ณธ ์ฝ๋๋ชฝํค๋ผ ๊ทธ๋ฐ๋ฐ
์ด๋ฐ ์์ด๋ฉด ๋ค๋ฅธ ์ค๋ ๋์์ ํด๋์ค ๊ฐ์ฒด์ bool๊ฐ์ ์์ ํ๋ฉด์
๋ฉ์ธ ์ค๋ ๋๊ฐ ๊ทธ bool์ ๋์์ ๋ณผ ํ๋ฅ ๋ ์๋๊ฑฐ์ง ์์??
ํ ๋ณ์์ ๋ํด ํ ์ค๋ ๋๋ ์ฐ๊ณ , ๋ค๋ฅธ ํ ์ค๋ ๋๋ ์ฝ๋ ๊ฒ์
๋์์ ํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์??
- dc official App
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
lock ํ๋ฒ ๊ฑธ์ด๋ณผ๊ฒ์ฉ - dc App
๋ฃจํ๋๋ฉด์ lock์ด๋ผ.. ์ฑ๋ฅํ ์คํธ๋ ํด๋ณผ๊ฒ์ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ท - dc App
๋ฝ ์๊ฑธ์ด๋ ๋จ
๋ ์ฝ๋ฃจํด์์ bool์ด true๊ฐ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆผ