을 사용하여 목록에 추가 할 때 스레드 안전성을 보장하는 올바른 방법 연결 문자열 배열을 반복하고 각 루프에서 일부 정보를 추출하고 목록에 추가합니다. 지금, 나는 그것이 멀티 스레드 수 있도록 병렬 라이브러리를 사용하기를 원하지만 목록에 기록하는 라이브러리 보장 내가 잠금의 사용 여부 스레드 안전 또는 것입니다 있는지 확실하지 않습니다 :병렬 라이브러리
List<SomeType> list = new List<SomeType>();
settings.AsParallel().ForAll(setting =>
{
list.AddRange(GetSomeArrayofSomeType(setting)); /// DO I NEED TO DO LOCKING HERE???
})
왜 처음부터 이러한 복잡성을 피하고'list'에 추가 할 설정을 미리 선택해야합니까? –
목록에 설정을 추가하지 않고 설정별로 배열을 검색하고 해당 배열의 내용을 주 목록에 추가합니다. 검색 프로세스가 오래 걸릴 수 있으므로 멀티 스레드가 필요합니다. – Andrey