Skip to content

C language thread-safe and cross-platform queue library

Notifications You must be signed in to change notification settings

pedramcode/pubq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PubQ

Thread-safe, simple, fast and cross-platform queue data structure

Third-party

Usage

#include <pubq/queue.h>
#include <memory.h>

int main(){
	// make queue_t instance
	queue_t* queue = malloc(sizeof(queue_t));
	queue_init(queue); // initialize

	for(int i = 0 ; i < 10 ; i++){
		// enqueue data (void*) into queue
		// it has built-in thread-safety features (condition variable and mutex)
		queue_enqueue(queue, &i);
	}

	for(int i = 0 ; i < 10 ; i++){
		// dequeue data (void*) from queue
		// if queue being empty, the process will wait unitl a new item get pushed into queue
		void* data = *queue_dequeue(queue);
	}

	// memory deallocation
	queue_deinit(queue) // free queue
	return 0;
}

About

C language thread-safe and cross-platform queue library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published