ChannelInt


Object Hierarchy:

Object hierarchy for ChannelInt

Description:

public class ChannelInt : Object

Thread-safe message-passing channel inspired by Go channels.

ChannelInt provides a typed, thread-safe communication mechanism between threads. It supports both unbuffered (synchronous) and buffered (asynchronous up to capacity) modes.

In unbuffered mode (default), send blocks until a receiver calls receive, providing strict rendezvous semantics. Only one sender can be in flight at a time.

Example (unbuffered):

    var ch = new ChannelInt ();
new Thread<void *> ("sender", () => {
ch.send (42);
return null;
});
int val = ch.receive ();

Example (buffered):

    var created = ChannelInt.buffered (10);
if (created.isError ()) {
return;
}
var ch = created.unwrap ();
ch.send (1);
ch.send (2);
int v1 = ch.receive ();
int v2 = ch.receive ();


Namespace: Vala.Concurrent
Package: Valacore

Content:

Static methods:

Creation methods:

Methods:

Inherited Members:

All known members inherited from class GLib.Object