은 내가 멀티 스레드 애플리케이션을 설계 경험이 제한되어, 다음과 같은 간단한 문제에 대한 몇 가지 일반적인 조언을 기대했다 :멀티 스레드 디자인
응용 프로그램은 네트워크 장치의 모음과 통신한다. 정기적 인 간격으로 필요할 때마다 각 장치에서 유지 관리 작업을 수행해야합니다. 이전에는 각 장치에서 순차적으로 메서드를 호출하여이 작업을 수행했습니다. 그러나 이제는 시간이 너무 오래 걸리므로 각 장치의 메서드를 비동기 적으로 호출하도록 수정해야합니다.
처음에는 각 장치에 대한 메서드를 비동기 적으로 호출하고 메서드가 완료되었음을 나타내는 변수를 콜백으로 설정해야하며 그 동안에는 해당 변수가 모두 해당 메서드를 나타낼 때까지 반복합니다 완료되면 전체 프로세스가 완료 될 수 있습니다.
참고 : 저는 C#에서 프로그래밍 중입니다. 나는 등 높은 수준의 지식 만 ThreadStart, ThreadPool이의 약간의 경험을 가지고
.Net의 버전은 무엇입니까? – svick
정말 비동기 동작을 찾고 있습니까, 아니면 동시에 모든 장치를 동시에 \ 병렬로 작동하도록 하시겠습니까? –
.NET 3.5 사용. 문제는 속도가 빠르며 한 번에 하나씩 장치에서 작동하는 데 너무 오래 걸립니다. 장치는 정확히 동시에 작동해야 할 필요는 없습니다. 비동기/병렬/동시라는 용어가 여기서 가장 잘 적용되는지는 확실하지 않습니다. 감사합니다. – Ronnie