n00bish 질문에 대해 용서해주십시오. 이 10 번 반복하고 SampleClass
의 예를 들어 새로운 메모리 공간을 할당 것, 주어진 예제 코드에서객체 메모리 최적화 질문
public class SampleClass
{
public string sampleString { get; set; }
public int sampleInt { get; set; }
}
class Program
{
SampleClass objSample;
public void SampleMethod()
{
for (int i = 0; i < 10; i++)
{ objSample = new SampleClass();
objSample.sampleInt = i;
objSample.sampleString = "string" + i;
ObjSampleHandler(objSample);
}
}
private void ObjSampleHandler(SampleClass objSample)
{
//Some Code here
}
}
의 SampleMethod()
가 호출 될 때마다 시간을 할당합니다 :
objSample
개체입니다.
궁금,
이 메모리 공간을 많이가 그것으로 낭비되는 등 나쁜 방법 인 경우? 그런 경우
의 할당 된 메모리를 최적화/재사용 할 수있는
더 나은 방법이있다?
아니면, 아무런 이유없이 불필요한 미세 최적화 모드로 들어가는 것에 대해 걱정하고 있습니까? :)
편집 : 또한 이러한 방법이 멀티 스레드 환경에서 사용되는 경우를 생각해보십시오. 그게 아무것도 바꿀까요?
멀티 스레드 방식의 경우에도 응답이 동일하게 유지됩니까? –
물론입니다. 실제로, 멀티 스레딩을 할 때 각 스레드에 대해 서로 다른 데이터 세트를 가질 수 있다면 MT 프로그래밍이 더 쉬워집니다. 그러나 반복 할 항목 모음이 있고 각각에 대해 처리를 수행해야하는 경우 - 인스턴스간에 데이터가 공유되지 않는 경우 - 멀티 스레딩은 잘 작동합니다 (.NET에는 새로운 병렬 모델이 있습니다. 일종의)도 –