awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
sourcegraph avatar

sourcegraph/conc

0
View on GitHub↗
10,307 نجوم·354 تفرعات·Go·mit·4 مشاهداتabout.sourcegraph.com/blog/building-conc-better-structured-concurrency-for-go↗

Conc

conc is a Go concurrency library and structured concurrency framework providing primitives for managing parallel tasks, mapping slices, and collecting results. It implements a system for spawning scoped tasks to ensure all child processes complete before their parent exits.

The library includes a goroutine pool manager to limit active concurrent processes and a panic-safe task runner that catches panics in goroutines and propagates stack traces to the parent. It also provides a concurrent map-reduce tool for transforming data slices and processing streams in parallel while maintaining the original order of results.

The project covers broad concurrency capabilities, including parallel data processing, resource-limited task execution, and structured error handling for capturing and propagating failures from parallel processes.

Features

  • Concurrency Libraries - Implements a comprehensive set of Go primitives for managing parallel tasks and collecting results.
  • Scoped Task Synchronization - Implements a structured concurrency framework ensuring all child work completes before the parent exits to prevent resource leaks.
  • Parallel Mappers - Transforms each element of a list using a function executed across multiple parallel processes.
  • Parallel Data Iterators - Splits data collections into individual units of work for concurrent processing across multiple Go routines.
  • Parallel Data Transformation - Transforms or iterates over large slices of data using multiple processes to improve performance.
  • Parallel Map-Reduce Tools - Provides a concurrent map-reduce tool for transforming data slices and processing streams in parallel.
  • Go Concurrency Utilities - Provides a specialized set of primitives for managing Go routines with scoped ownership and resource safety.
  • Structured Concurrency Managers - Provides a structured concurrency framework for spawning scoped tasks that ensures all child processes complete before the parent exits.
  • Goroutine Pools - Provides a goroutine pool manager to limit active concurrent processes and prevent system resource exhaustion.
  • Concurrent Task Runners - Runs multiple functions in parallel and gathers their results or errors into a single collection.
  • Concurrent Task Limiters - Controls resource consumption by executing concurrent tasks using a fixed maximum number of processes.
  • Panic Propagation - Captures failures in scoped processes and sends them to the parent to preserve debugging stack traces.
  • Parallel Task Spawning - Runs a collection of functions concurrently and aggregates results into a single data structure.
  • Panic Recovery - Captures runtime panics in child goroutines and re-throws them in the parent to preserve original stack traces.
  • Stream Processing - Performs asynchronous operations on data streams in parallel while maintaining the original sequence of results.
  • Concurrent Data Collection - Gathers return values and errors from multiple parallel tasks into a single unified collection.
  • Thread-Safe Communication Channels - Implements thread-safe communication channels to aggregate results and errors from parallel processes into a shared slice.
  • Synchronization Primitives - Utilizes synchronization primitives to block parent processes until all spawned child tasks have completed.
  • Error Handling - Captures panics and errors from parallel processes and propagates them to a parent for debugging.
  • Result Sequencers - Ensures that parallel outputs are returned in their original input sequence by tracking indices.
  • Concurrent - Includes a panic-safe task runner that catches goroutine panics and propagates stack traces to the parent.
  • Task Scheduling and Queues - Structured concurrency control.
  • Concurrency Management - Provides structured concurrency tools for safer task execution.
  • Concurrency Tools - Listed in the “Concurrency Tools” section of the Awesome Go awesome list.

سجل النجوم

مخطط تاريخ النجوم لـ sourcegraph/concمخطط تاريخ النجوم لـ sourcegraph/conc

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة sourcegraph/conc؟

conc is a Go concurrency library and structured concurrency framework providing primitives for managing parallel tasks, mapping slices, and collecting results. It implements a system for spawning scoped tasks to ensure all child processes complete before their parent exits.

ما هي الميزات الرئيسية لـ sourcegraph/conc؟

الميزات الرئيسية لـ sourcegraph/conc هي: Concurrency Libraries, Scoped Task Synchronization, Parallel Mappers, Parallel Data Iterators, Parallel Data Transformation, Parallel Map-Reduce Tools, Go Concurrency Utilities, Structured Concurrency Managers.

ما هي البدائل مفتوحة المصدر لـ sourcegraph/conc؟

تشمل البدائل مفتوحة المصدر لـ sourcegraph/conc: panjf2000/ants — Ants is a goroutine pool library for Go that functions as a concurrent task orchestrator and resource consumption… rayon-rs/rayon — Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into… jeffail/tunny — Tunny is a worker pool library and concurrency manager for Go. It functions as a concurrent task scheduler that limits… python-trio/trio — Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing… ruby-concurrency/concurrent-ruby — Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data… geektutu/high-performance-go — This project is a comprehensive performance programming guide and reference for the Go language, focusing on runtime…

بدائل مفتوحة المصدر لـ Conc

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Conc.
  • panjf2000/antsالصورة الرمزية لـ panjf2000

    panjf2000/ants

    14,436عرض على GitHub↗

    Ants is a goroutine pool library for Go that functions as a concurrent task orchestrator and resource consumption limiter. Its primary purpose is to manage and reuse a pool of goroutines to limit concurrency and reduce the memory allocation overhead associated with frequent thread creation. The system provides a runtime worker manager capable of adjusting pool capacity dynamically to respond to fluctuating workloads. To maintain stability, it includes panic recovery mechanisms that intercept runtime failures within worker threads to prevent a single failing task from crashing the entire appli

    Goantsgogoroutine
    عرض على GitHub↗14,436
  • rayon-rs/rayonالصورة الرمزية لـ rayon-rs

    rayon-rs/rayon

    13,071عرض على GitHub↗

    Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time. The library distinguishes itself through its focus on safe, scoped task synchronization, which ensures that all spawned operations complete before a scope exits to preve

    Rust
    عرض على GitHub↗13,071
  • jeffail/tunnyالصورة الرمزية لـ Jeffail

    Jeffail/tunny

    4,033عرض على GitHub↗

    Tunny is a worker pool library and concurrency manager for Go. It functions as a concurrent task scheduler that limits the number of parallel workers processing jobs to prevent system resource exhaustion. The project enables the maintenance of persistent state within individual worker routines to avoid repeated initialization costs. It also supports dynamic worker scaling, allowing the number of active background workers to be adjusted in real time without interrupting tasks in progress. The library provides mechanisms for task timeout enforcement and worker lifecycle management, including t

    Gogogolanggoroutine-pool
    عرض على GitHub↗4,033
  • python-trio/trioالصورة الرمزية لـ python-trio

    python-trio/trio

    7,280عرض على GitHub↗

    Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover

    Pythonasyncasync-awaitio
    عرض على GitHub↗7,280
  • عرض جميع البدائل الـ 30 لـ Conc→