CompletableFuture
CompletableFuture ๋?
Java์์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ๋ค
Future์ CompletionStage๋ฅผ ๊ตฌํํ class๋ค
Future
๋?๋น๋๊ธฐ์ ์ธ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ํํํ๋ ํด๋์ค
์์ฝ๋ ์์ ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ ์๋ค
multi-thread ํ๊ฒฝ์์ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ thread์ ์ ๋ฌํ ์ ์๋ค
๋ด๋ถ์ ์ผ๋ก
Thread-Safe
ํ๊ฒ ๊ตฌํ๋์ด ์๊ธฐ ๋๋ฌธ์synchronized block
์ ์ฌ์ฉํ์ง ์์๋ ๋๋ค
Future์์ ํ๊ธฐ ์ด๋ ค์ ๋ ์๋์ ์์ ์ ์์ํ๊ฒ ํ ์ ์๊ฒ ํด์ค๋ค
Future๋ฅผ ์ธ๋ถ์์ ์๋ฃ์ํฌ ์ ์๋ค
์ทจ์ํ๊ฑฐ๋, get()์ ํ์์์์ ์ค์ ํ ์ ์๋ค
๋ธ๋กํน ์ฝ๋ (get())๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์๋ ์์ ์ด ๋๋ฌ์ ๋ ์ฝ๋ฐฑ์ ์คํํ ์ ์๋ค
Future๋ฅผ ํตํด ๊ฒฐ๊ณผ๊ฐ์ ๋ง๋ค๊ณ ๋ฌด์ธ๊ฐ๋ฅผ ํ๋ ์์ ์ get() ์ดํ์ ์์ผํ๋ค
์ฌ๋ฌ Future๋ฅผ ์กฐํฉํ ์ ์๋ค
ex) ์ด๋ฒคํธ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ ๋ค์์ ์ด๋ฒคํธ์ ์ฐธ์ฌํ ํ์ ๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ
์์ธ ์ฒ๋ฆฌ์ฉ API๋ฅผ ์ ๊ณตํ์ง ์๋๋ค
Last updated