Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 6386|Відповідь: 3

[Джерело] Використовуються канали високопродуктивної черги .NET Core

[Копіювати посилання]
Опубліковано 2023-5-8 22:11:01 | | | |
System.Threading.Channels — цеНові типи колекцій, введені після .NET Core 3.0Його можна використовувати для позначення повідомлень, створення та споживання даних, а публічні API Writer і Reader відповідають виробникам і споживачам повідомлень, що також робить Channel більш лаконічним і простим у використанні.

.NET/C# базується на фоновій черзі завдань BlockingCollection
https://www.itsvse.com/thread-9528-1-1.html


Бібліотека System.Threading.Channels:Вхід за гіперпосиланням видно.
<T> Клас каналу:Вхід за гіперпосиланням видно.

Тип каналу

Microsoft пропонує два типи каналів: один — зв'язаний канал з обмеженою пропускною здатністю, інший — необмежений канал з необмеженою пропускною здатністю.

Створіть канал з обмеженою пропускною здатністю:Channel.CreateBounded<string>(100);
Створіть канал з необмеженою пропускною здатністю:Channel.CreateUnbounded<string>();

Створіть необмежену кількість каналів

При створенні каналу ви можете налаштувати SingleWriter і SingleReader ChannelOptions так, щоб вказати одного виробника і споживача, коли канал встановлений як false; коли встановлено SingleWriter = true, це обмежить лише одного виробника одночасно записувати дані, SingleReader = true — це те саме.


Спробуйте відкрити три потоки виробника та один споживчий потік з таким кодом:



Споживач використовує WaitToReadAsync, щоб чекати на зчитування даних. Споживачі намагаються прочитати дані лише після їх доступності.


У наведеному вище коді споживачі читають дані один за одним, щоб виконувати операції, як їх здійснитиДані про масове споживання споживачівА як щодо обробки?

Створіть нове розширення ChannelReaderExtensions з таким кодом:


Відкоригуйте споживчий код таким чином:



(Кінець)




Попередній:ASP.NET Core (18) Налаштуйте простий кеш виводу OutputCache
Наступний:[Справжній бій]. Бібліотека локатора офлайн-IP-адрес (домашня) NET/C#
Опубліковано 2023-5-8 22:50:27 |
Вчитися вчитися
Опубліковано 2023-5-12 10:07:46 |
Вчитися вчитися
Опубліковано 2023-5-16 17:21:37 |
Вчитися вчитися
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com