각 개체에 대해 의 목록을 가지고 있습니다. 나는 완전히 분리 된 스레드 (thread safty)를 실행하고 싶습니다. while 루프에서 개체를 선택하고 스레드를 실행합니다. 그리고 나서 다음 객체를 실행할 때 다음 스레드를 실행합니다 ... 모든 스레드는 공유되는 자원 (값/연결 (닫기/열기))이 변경되지 않아야합니다 .....스레드 동기화
Q
스레드 동기화
0
A
답변
2
스레드 시작 object이 반드시 현명하지는 않습니다. 목록에서 항목을 선택하는 소수의 작업자 스레드 (또는 더 좋게는 Queue<T>
)를 가지고 목록/대기열에 대한 액세스를 동기화해야합니다. 스레드 안전 큐의 예는 this thread에서 찾을 수 있습니다.
에 작업 항목이이되면 스레드 안전을 위해 작성 (처리)하는 코드의 나머지 부분을 만들기위한 마술 총알은 없습니다. 진정한 불변성 (아이템 은이 될 수 없음) 또는 간단히 은 객체을 변경하지 않고 간단하게 유지할 수있는 합리적인 접근법입니다. 물론 작업 항목에 대한 잠금을 구현할 수도 있지만 모두 코드가 동일한 잠금 전략을 사용하는 경우에만 도움이됩니다. 이는 시행하기 어렵습니다.
0
나는 루프 동안 내 목록 에서 하나를 객체를 선택하고 스레드를 실행하고 정말 개체 당 스레드를 원한다면 는 다음 개체에 대해 다음 스레드
을 실행할 다음 들리, 그것은 TargetObject 속성의 설정, 각 개체에 대한 while 루프까지 새로운 ObjectProcessingThread에 그런
class ObjectProcessingThread
{
Thread processingThread = new Thread();
public TargetObject { get; set;}
public Start()
{
//start the processing thread with threadEntryPoint as the work the thread will do
}
private threadEntryPoint
{
//do stuff with targetObject
}
}
: 아마,이 같은 클래스를 생성 할 수 없습니다 것 g 시작. 모든 스레드는 는 자원 (값/연결 ) (열기/닫기) 그들에 의해 공유가 변경하지 마십시오 그 동기화해야
.....
원하지 않는 경우 값을 변경하려면 변경하지 마십시오.
관련 문제
- 1. 스레드 동기화
- 2. 스레드 동기화
- 3. 동기화 된 스레드
- 4. 스레드 동기화 - UI 없음
- 5. 스레드 동기화 및 중단
- 6. 장고 스레드 동기화
- 7. 스레드 동기화 문제
- 8. 간단한 스레드 동기화
- 9. 두 스레드 동기화
- 10. 스레드 통신 동기화 중입니까?
- 11. 자바 스레드 - 동기화 문제
- 12. iphone 스레드 동기화
- 13. C# 스레드 대기열 동기화
- 14. C#의 스레드 동기화?
- 15. 파이썬 스레드 동기화
- 16. 자바 동기화 및 스레드
- 17. 여러 스레드 동기화
- 18. 스레드 동기화 Java
- 19. C++ : 스레드 동기화
- 20. CUDA : 스레드 동기화
- 21. Delphi - 프레임과 스레드 동기화
- 22. 스레드 동기화 질문
- 23. 자바 스레드 동기화 문제
- 24. C# 스레드 동기화 문제
- 25. .NET - 스레드 동기화
- 26. 부스트 스레드 동기화
- 27. MPI와의 스레드 동기화
- 28. 스레드 동기화 - 프로세스의 최대 스레드 수
- 29. Java : 여러 서버에서 스레드 동기화
- 30. 스레딩 및 스레드 선점 동기화
질문이 있습니까? –