From c338c3f08c6a13242e975dd344bad63a3cec9eee Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 18 Aug 2024 20:00:21 -0400 Subject: Update docs --- api/channels.md | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'api/channels.md') diff --git a/api/channels.md b/api/channels.md index 880825ce..4b8d416a 100644 --- a/api/channels.md +++ b/api/channels.md @@ -3,6 +3,13 @@ Channels are a thread-safe message queue for communicating between threads, although they can also be used as a general-purpose queue. +## Syntax + +The syntax to create a channel is `|T|`, where `T` is the type that will be +passed through the channel. You can also specify a maximum size for the +channel, which will cause pushing to block until the recipient has popped from +the channel if the maximum size is reached. + ```tomo channel := |Int| channel:push(10) @@ -11,6 +18,8 @@ channel:push(20) = 10 >> channel:pop() = 20 + +small_channel := |Int; max_size=5| ``` ## Channel Methods -- cgit v1.2.3