.net 프레임 워크 4.0을 사용하여 Windows 양식의 주식 시장 응용 프로그램을 개발 중입니다. 교환에서 진드기를 실시간으로 가져옵니다. 나는 진드기를 실시간으로받을 수있다. 제 시나리오에서는 실시간 수집을 쓸 스레드를 만들어야합니다. & 다른 연속적으로 실행되는 백그라운드 스레드가 컬렉션에서 가져옵니다. & 추가 처리는 수행합니다. 이를 달성하기 위해 나는 ConcurrentDictionary과 ConcurrentQueue의 조합을 사용하고 있습니다. 키 조합 기호 이름 & 값에 ConcurrentQueue가 포함되어 있습니다. 이것이 구현 된 방법입니다. Check first answer실시간 데이터를 저장하는 방법
이것은 지연 문제입니다. 주식 가격이 실시간으로 변동해야하므로이 프로세스는 1 초 지연을 초래합니다. 이 시나리오를 다른 로직으로 구현할 수 있습니까? 아니면 지연을 피하기 위해 ConcurrentDictionary 또는 ConcurrentQueue의 성능을 어떻게 향상시킬 수 있습니까?
당신은 어떤 진단을 수행하지 않았습니다. 기본 사항부터 시작하십시오. 바로 지연의 원인은 무엇입니까? 경합 또는 다른 동기화 오버 헤드를 잠급니다? 또는 자신의 처리? – millimoose
(C#이 아니었고 데이터 아카이브가 필요 없다면 고정 된 수의 레코드를 고성능으로 저장하도록 명시 적으로 설계된 데이터베이스 인'rrdtool'을 살펴볼 것을 제안했을 것입니다.) – millimoose
쓰기 또는 읽기 concurrentDictionary 또는 concurrentqueue에서 지연이 발생합니다 – Tuscan