一个简单 System.Threading.Tasks.Dataflow.BufferBlock 示例
2019-07-30 16:25 音乐让我说 阅读(1213) 评论(0) 编辑 收藏 举报直接贴代码了:
using System; using System.Threading.Tasks; using System.Threading.Tasks.Dataflow; namespace SimpleDataFlowSample { class Program { static void Main() { Task t1 = Task.Run(() => Producer()); Task t2 = Task.Run(async () => await ConsumerAsync()); Task.WaitAll(t1, t2); } private static BufferBlock<string> s_buffer = new BufferBlock<string>(); public static void Producer() { bool exit = false; while (!exit) { string input = Console.ReadLine(); if (string.Compare(input, "exit", ignoreCase: true) == 0) { exit = true; } else { s_buffer.Post(input); } } } public static async Task ConsumerAsync() { while (true) { string data = await s_buffer.ReceiveAsync(); Console.WriteLine($"user input: {data}"); } } } }
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步