Thread Queue Interface
DESCRIPTION
This interface provides asynchronous thread queues that can be used to pass messages and data between two or more threads. Typically a thread would create the queue, push data into the queue and some other thread takes the data from the queue or blocks until more data is available in the queue.
The queue itself can have one ore more pipes, allowing user to use one queue to pass different information in different pipes, if each pipe need to be dedicated to specific type of data.
EXAMPLE
Thread 1: // Create queue and push data into it SilcThreadQueue queue = silc_thread_queue_alloc(1, FALSE); silc_thread_queue_push(queue, 0, data, FALSE); Thread 2: // Connect to the queue silc_thread_queue_connect(queue); // Block here until data is available from the queue data = silc_thread_queue_pop(queue, 0, TRUE);
TABLE OF CONTENTS