nsync is a portable C library that provides a collection of advanced synchronization primitives designed to facilitate safe and efficient multithreaded programming. It offers reader-writer locks, condition variables, run-once initialization, waitable counters, and waitable bits for coordination and cancellation between threads. Unlike traditional pthreads-based synchronization, nsync introduces conditional critical sections, allowing developers to wait for arbitrary conditions without explicit signaling or complex loop-based logic. This approach simplifies concurrency management and often improves readability and maintainability of multithreaded code. The library emphasizes efficiency, with locks and condition variables occupying minimal memory and supporting cancellation mechanisms through nsync_note objects rather than thread-level cancellation. Designed with portability and performance in mind, nsync can be compiled on Unix-like systems and Windows using a C90 compiler.

Features

  • Provides efficient synchronization primitives including locks, condition variables, and waitable counters
  • Implements conditional critical sections for simpler and safer waiting logic
  • Supports reader-writer locks as fast as traditional mutexes
  • Includes cancellation support via nsync_note objects rather than thread termination
  • Portable across Unix-like systems and Windows with multiple atomic operation backends
  • Compatible with C90, C11, and C++11 compilers and atomic operation models

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

Apache License V2.0

Follow NSync

NSync Web Site

Other Useful Business Software
Full-stack observability with actually useful AI | Grafana Cloud Icon
Full-stack observability with actually useful AI | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of NSync!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Assembly, C, C++, Python, Unix Shell

Related Categories

Unix Shell Libraries, Python Libraries, C++ Libraries, Assembly Libraries, C Libraries

Registered

2025-10-11