안녕하세요.
Dispose 패턴만든 클래스에 Parallele.For 를 사용하여 윈폼을 개발 했는데
프로세스를 다시 시작하여 구동하면 처리속도가 느려지는데 왜 그런걸까요?
제가 완벽하게 DIspose 패턴을 이해하고 만든게 아니여서 실수가 있는거일수도 있긴한데…
제가 만든 코드를 예시로 작성해두겠습니다.
class Pattern : IDisposable
{
private bool alreadyDisposed = false;
public void Dispose()
{
....
}
protected virtual void Dispose(bool isDisposing)
{
try
{
// Dispose 는 한번만 수행되도록 한다.
if (alreadyDisposed) return;
if (isDisposing)
{
...
}
alreadyDisposed = true;
}
catch (Exception ex)
{
throw;
}
}
}
using (Pattern pattern = new Pattern())
{
Parallel.For(0, 100, idx =>
{
....
});
}
해당 처럼 코드를 하면 이슈가 있을까요?