이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 60677|회답: 4

[출처] .NET/C#은 BlockingCollection 백그라운드 작업 큐를 기반으로 합니다

[링크 복사]
2021-1-23 11:53:25에 게시됨 | | | |
c#은 범용 큐헬퍼 큐를 캡슐화합니다
https://www.itsvse.com/thread-5029-1-1.html
.NET/C#은 BlockingCollection 기반의 간단한 로깅을 구현합니다
https://www.itsvse.com/thread-9512-1-1.html
시나리오: 특정 작업을 수행할 때는 메시지를 반환할 필요가 없으며, 백그라운드에서 처리할 수 있는 함수를 실행할 수 있는 백그라운드의 어느 부분에든 배치할 수 있습니다. 예를 들어: 이메일 보내기, 기록 작성 등.

저는 이전에 ConcurrentQueue와 Thread를 기반으로 한 작업 큐에 대해 쓴 적이 있지만, 이 글에서는 BlockingCollection을 사용하여 더 잘 구현했습니다.

QueueBlockingCollection 코드는 다음과 같습니다:

예를 들어, QueueBlockingCollection 추상 클래스를 상속하는 메시지를 보내는 백그라운드 작업을 구현해 봅시다:

호출 방식은 다음과 같습니다:


간단한 콘솔 배경 출력 문자열, 코드는 다음과 같습니다:

렌더링은 다음과 같습니다:



(끝)




이전의:ASP.NET 코어는 객체로 직렬화할 수 없는 POST JSON 매개변수를 받습니다
다음:.net/c#은 CPU 프로세서 사용량을 100% 가능하게 합니다
 집주인| 2021-6-11 15:05:55에 게시됨 |
코드가 약간 문제적이며, 최신 코드는 다음과 같습니다:


2023-4-10 17:35:55에 게시됨 |
한번 살펴보겠습니다
2023-5-8 09:58:53에 게시됨 |
소비자는 다음과 같은 코드를 통해서도 메시지를 받을 수 있습니다:

 집주인| 2023-5-8 22:13:24에 게시됨 |
.NET 코어 고성능 큐 채널이 사용됩니다
https://www.itsvse.com/thread-10584-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com