Channels
Chào mọi người, hôm nay chúng ta sẽ nói về kênh (channels). Nếu bạn đến từ một ngôn ngữ như Golang, bạn sẽ quen với kênh vì đó là tất cả những gì họ có để giải quyết các vấn đề về đồng thời và song song. Trong C#, kênh là một tính năng khá mới và vấn đề chính mà kênh giải quyết là vấn đề nhà sản xuất/người tiêu dùng (producer/consumer), đúng không? Vậy nên nếu bạn có thể tìm thấy một mô hình tinh thần trong mã của mình rằng một cái gì đó đang sản xuất cái gì đó và sau đó một cái khác phải tiêu thụ nó, bạn hầu như muốn sử dụng một kênh vì đó là một giải pháp rất tốt cho vấn đề đó. Và nhiều nhà cung cấp đám mây cũng cung cấp các giải pháp kênh như pub/sub (publisher/subscriber queues), vốn thực chất là một kênh. Vì vậy, đây là một công nghệ được sử dụng khá thường xuyên và cách nó hoạt động thì có thể mang lại lợi ích, đúng không? Trước hết, chúng ta sẽ bắt đầu với một ví dụ nhanh về lý do tại sao bạn có thể muốn sử dụng một kênh, sau đó chúng ta sẽ nhảy vào cách nó được tạo ra, nhì...