Solver.cs๋ฅผ ๋ง๋ค์์
public class Solver
{
int[] buffer;
public Solver() {
buffer = new int[10];
}
public void calculate(int[] input) {
buffer = dosomething(input);
}
}
์ด๋ค ๋ฐฐ์ด์ ์ธํ์ผ๋ก ๋ฐ๊ณ ๊ทธ ๋ฐฐ์ด์ ์ด์ฉํด์ ๋ญ๊ฐ ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ฅผ buffer ์์ ๋ฃ๋ ๋ฉ์๋๊ฐ ์๋ ์ํฉ์์..
๋ฉ์ธ์ Solver ์ ์ธ์คํด์ค๋ก solver๋ฅผ ์ ์ธํด์ ์ฌ์ฉํ๊ฒ ๋ ํ ๋ฐ, solver.calculate(input)์ผ๋ก ๊ณ์ฐํ ๊ฒฐ๊ณผ๊ฐ solver ๋ด๋ถ์ buffer๋ผ๋ ๋ฐฐ์ด์
ํ๋ก๊ทธ๋จ ์ข ๋ฃํ ๋๊น์ง ๋จ์์์๊น??ย ์๋ ๊ฐ๋น์ง ์ฝ๋ ํฐ๊ฐ ์์ ๋ฒ๋ฆด๊น?
ํด๋์ค Solver๊ฐ ์๋ฉธ๋๋ ์์ ์ ๊ฐ์ด ์์ด์ง์ง ์์๊น
๊ทธ๋ผ ๋คํ์ธ๋ฐ ... ์ ์ openCL๋ก ์ฝ๋ฉํ ๋ ๊ฐ๋น์ง ์ฝ๋ ํฐ๊ฐ ์๊พธ ์ธ์คํด์ค๋ฅผ ์ญ์ ํด๋ฒ๋ฆฌ๋ ๋ฐ๋์ ๊ณ ์ํ๋ ๊ฒฝํ์ด ์์ด์; ํด๋์ค ๋ด๋ถ์ ์๋๋ผ๋ ๋ฉ์๋ ๋ฐ์ ์์ผ๋ฉด ์ผ์ข ์ ์ ์ญ ๋ณ์์ฒ๋ผ ๋์ฐํด์ฃผ๋๊ฑด๊ฐ?
์์ ๋งํ 'ํด๋์ค Solver๊ฐ ์๋ฉธ๋๋ ์์ ' == ์๋์ '๊ฐ๋น์ง ์ฝ๋ ํฐ๊ฐ ์๊พธ ์ธ์คํด์ค๋ฅผ ์ญ์ ํด๋ฒ๋ฆฌ๋ ๋ฐ๋์' ์๋??
์ผ ... ์๋ฐ๋์ ๊ฐ๋น์ง์ฝ๋ ํฐ๋ ์ ๋ง๋ค์ด์ ๊ท์ฐฎ๊ณ ๋ณต์กํ๊ฒ ...;
GC์์ผ๋ฉด ๋ ๊ท์ฐฎ๊ณ ๋ณต์กํ ๊ฑธ...?ใ ใ
GC์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋จ์๊น์ง ์น ๊ธฐ์ตํ๋ฉด์ ์๋ฉธ์๊น์ง ์ด๋์ํด์ผํจ
๋งจ ์๋์ค ๊ธ์ ์ ๋ง ํน๋ณํ๊ฒฝ์ฐ ์๋๋ฉด ์๋ฉธ๋ ์ผ์ด ์์
ใ ใ ใ ใ ๊ฐ์ฌ!