29 مستودعات
Architectural patterns where background threads process independent tasks and return results to a main thread.
Distinct from Worker Thread Reuse: Distinct from limiting thread counts or UI messaging; focuses on the task distribution model.
Explore 29 awesome GitHub repositories matching software engineering & architecture · Worker Thread Patterns. Refine with filters or upvote what's useful.
Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend. The library distinguishes itself through a token-based search implementation that supports word-order independence and relevance weighting. It utilizes edit-distance scoring to handle typos and insertions, and employs a system of field weighting to prioritize matches in high-value data keys. The
Distributes search tasks across background worker threads to maintain main-thread responsiveness.
AR.js is a web-based augmented reality framework used to create immersive experiences directly in a browser using WebGL and WebRTC. It provides a cross-platform runtime that executes on mobile devices and head-mounted displays without requiring a dedicated application installation. The framework includes a marker-based engine for detecting physical patterns or barcodes to anchor digital overlays, a location-based tool for positioning entities via GPS coordinates, and a face tracking library for anchoring content to human facial features. It supports multi-marker simultaneous tracking, custom
Offloads heavy image processing and pattern matching to background threads to maintain high performance.
This project is a collection of Python scripts and tools designed for web scraping, browser automation, and large-scale data extraction. It provides a set of implementations for retrieving information from websites and private APIs, including tools for multimedia downloading and social media data archiving. The toolset includes specialized mechanisms for bypassing anti-scraping measures through IP proxy pool rotation and multi-threaded crawlers. It also features capabilities for simulating browser sessions to handle authentication, intercepting session cookies, and decrypting network payloads
Uses a thread-safe queue to distribute target URLs across multiple worker threads for accelerated collection.
sql.js is a serverless, in-memory SQL database engine that ports SQLite to WebAssembly for use within a web browser. It provides a JavaScript interface to initialize relational databases, execute SQL queries, and manage structured data without requiring a backend server. The project enables the import and export of database states using typed arrays, allowing in-memory data to be persisted as files. It supports high-precision integer retrieval via BigInt and utilizes prepared statements to increase execution speed and security. The engine includes capabilities for client-side data management
Employs worker thread patterns to offload heavy database computations and keep the user interface responsive.
jspaint is a web-based reimplementation of Microsoft Paint, built entirely in JavaScript to run in a browser. It recreates the classic desktop application by reverse-engineering the original Win32 API calls and event handling, rendering the entire interface onto an HTML5 canvas for pixel-perfect retro graphics. The project preserves the original file format compatibility with BMP, PNG, GIF, and JPEG, ensuring exact pixel data matches the legacy application. The application maintains a complete undo history stack using compressed image snapshots, and offloads computationally intensive image pr
Offloads computationally intensive image processing operations to background web workers for UI responsiveness.
Node.js is an open-source, cross-platform JavaScript runtime environment built on the V8 engine, designed for executing JavaScript code outside a web browser. It operates as a server-side JavaScript platform with an event-driven, non-blocking I/O architecture that enables building scalable network applications and web servers. The runtime integrates the CommonJS module system for synchronous module loading and the npm ecosystem for sharing and reusing packages. The platform provides comprehensive capabilities for web server development, including creating HTTP and HTTPS servers, managing HTTP
Ships a built-in worker_threads module for running JavaScript in parallel threads with shared memory.
oneAPI Threading Building Blocks (oneTBB)
Provides a thread-local task bypass that hands tasks directly to worker threads, skipping the global scheduling queue.
whs.js هو محرك ألعاب ثلاثي الأبعاد WebGL وإطار عمل تطبيقات قابل للتوسيع يُستخدم لإنشاء تجارب ثلاثية الأبعاد تفاعلية وألعاب تعتمد على المتصفح. يوفر طبقة تجريد مبسطة فوق عرض WebGL منخفض المستوى لإدارة الكاميرات والإضاءة والبيئة ثلاثية الأبعاد بشكل عام. يستخدم إطار العمل رسماً بيانياً للمشهد ثلاثي الأبعاد (scene graph) لتنظيم الكائنات في نظام هرمي من المكونات. ويدمج محاكاة فيزيائية متعددة الخيوط باستخدام عمال الويب (web workers) لتشغيل الحسابات بالتوازي مع حلقة العرض الرئيسية. يتضمن النظام بنية إضافات معيارية تسمح بتوسيع منطق التطبيق الأساسي من خلال نظام قابل للتوصيل. كما يتميز بتهيئة تلقائية للمشهد للتعامل مع إعداد العارض والبيئة.
Runs heavy physics calculations in separate background threads using web workers to maintain high frame rates.
electron-vite is a build system and multi-process bundle orchestrator that uses Vite to compile and bundle the main, preload, and renderer processes for Electron applications. It functions as a desktop application scaffolder, providing templates to integrate various frontend frameworks into a standardized project structure. The project distinguishes itself through integrated source code protection, utilizing a V8 bytecode obfuscator to compile JavaScript into bytecode and obfuscate strings to prevent reverse engineering. It also manages complex desktop architectures by isolating bundles and s
Resolves worker imports into bundle paths during the build process for multi-threaded background execution.
Pagefind هو محرك بحث للمواقع الثابتة يقوم بفهرسة ملفات HTML لتوفير تجربة بحث قائمة على المتصفح دون الحاجة إلى خادم خلفي أو واجهة برمجة تطبيقات. يتكون من مفهرس بحث متعدد اللغات ومجموعة من مكونات واجهة المستخدم المدمجة مسبقًا والقابلة للتخصيص لعرض مدخلات البحث وقوائم النتائج. تم تصميم النظام للمحتوى العالمي، باستخدام مفهرس بحث متعدد اللغات يكتشف لغات الصفحة وينشئ حزم فهرس مستقلة لتوفير اشتقاق (stemming) ونتائج خاصة باللغة. كما يعمل على تحسين الأداء باستخدام فهرس مضغوط وتفريغ تنفيذ الاستعلام إلى عامل ويب (web worker) للحفاظ على استجابة واجهة المستخدم. تغطي الأداة مجموعة واسعة من إمكانيات الفهرسة والاسترجاع، بما في ذلك القدرة على معالجة أنواع محتوى متنوعة مثل PDF وJSON، بالإضافة إلى تصفية البحث متعدد الأوجه بناءً على البيانات الوصفية المخصصة. وتوفر آليات لضبط صلة النتائج، وتقسيم أقسام الصفحة لتحسين الدقة، ومجموعة أدوات واجهة مستخدم شاملة تتميز بنوافذ مشروطة، ولوحات تصفية، وتمييز المصطلحات. يتضمن المشروع أدوات مطور لخدمة الموقع المحلي وتصدير ملعب تشخيصي لتصحيح سلوك الفهرس.
Offloads search processing and index parsing to a web worker to prevent blocking the main user interface thread.
Booster هو أداة لتحسين بناء تطبيقات Android ومعالج لـ bytecode مصمم لتقليل حجم الملف الثنائي، وإصلاح الأعطال على مستوى النظام، وتحسين أداء التطبيق. يعمل كإضافة لعملية البناء قابلة للتوسيع تقوم بتعديل ملفات الفئات المترجمة ومخرجات البناء لحقن إصلاحات الاستقرار والتحسينات دون تغيير الكود المصدري الأصلي. يتميز المشروع بمعالجة منخفضة المستوى لـ bytecode لتصحيح أخطاء نظام التشغيل وإدارة مجموعات الخيوط (Thread Pools) أثناء مرحلة التجميع. كما يوفر مجموعة أدوات لتوصيف الأداء لتحديد العمليات التي تحظر الخيط الرئيسي وتحليل مشكلات الاستقرار المتعلقة بالموارد. تغطي الأداة نطاقاً واسعاً من قدرات تحسين الحزم، بما في ذلك ضغط الصور لـ PNG وWebP، وإزالة الموارد الزائدة، وتحسين فهرس الموارد. تشمل الوظائف الإضافية ضبط الأداء لإدارة الخيوط، وكتابة التفضيلات غير المتزامنة، والتحليل الساكن لمسح مخرجات البناء لاكتشاف المخاطر الأمنية والاختناقات. يستخدم النظام واجهة مزود الخدمة (SPI) لتكامل الإضافات المخصصة ويمكن تشغيله كتطبيق مستقل منفصل عن بيئة البناء الأساسية.
Implements architectural patterns to offload blocking preference commits and operations to background worker threads.
gif.js is a JavaScript GIF encoder and client-side color quantizer that generates animated GIF files directly within the web browser. It functions as an HTML5 canvas exporter and image processor, allowing for the creation of animated images from web sources without the need for a backend server. The library utilizes web workers to offload heavy image encoding tasks to background threads, which prevents the browser user interface from freezing during the generation process. This architecture enables the tool to act as a web worker image processor for dynamic image generation. The system cover
Employs a worker-thread pattern to distribute frame encoding tasks across multiple background threads.
Keras-js is a JavaScript inference engine and browser-based machine learning framework designed to execute pre-trained Keras neural networks. It allows for client-side model inference in web browsers or Node.js environments without the requirement of a backend server. The library utilizes a WebGL tensor accelerator to map mathematical operations to the graphics processor for hardware acceleration. To maintain user interface responsiveness during heavy computations, it incorporates a web worker inference runtime that executes neural network processing in background threads. The system support
Executes neural network processing in background web worker threads to maintain user interface responsiveness.
wmr هي أداة تطوير تطبيقات ويب ونظام بناء يعمل كمجمع لوحدات ES، ومولد مواقع ثابتة، وخادم تطوير محلي. توفر بيئة كاملة لإنشاء تطبيقات ويب حديثة، تجمع بين مجمع إنتاج وخادم يدعم إعادة التحميل الساخن (hot reloading). يتميز المشروع بنهجه المتكامل تجاه نصوص الخلفية والتوجيه، حيث يعمل كمجمع لعمال الخدمة (service worker) وأداة للتوجيه القائم على نظام الملفات. يتيح توليد HTML ثابت عبر العرض المسبق ويوفر تكاملاً أصليًا لإنشاء عمال الويب (web workers) للتعامل مع العمليات الحسابية الثقيلة. يغطي النظام مجموعة واسعة من قدرات أتمتة البناء، بما في ذلك التجميع عند الطلب، ومعالجة الطلبات القائمة على البرمجيات الوسيطة، وخط أنابيب مدفوع بالإضافات لتوسيع منطق البناء. كما يتضمن أدوات لإدارة متغيرات البيئة، وتعيين مسارات الاستيراد، وتحليل حجم الحزمة لتحسين أصول الإنتاج.
Compiles and bundles service worker scripts to enable offline asset management.
Text Embeddings Inference هو خادم استدلال عالي الأداء مصمم لاستضافة نماذج تضمين النصوص وتصنيف التسلسلات كنقاط نهاية API قابلة للتوسع. يوفر واجهة برمجة تطبيقات لتضمين المتجهات لتحويل النص إلى تمثيلات كثيفة وخادم إعادة ترتيب (reranking) عبر المشفرات لتسجيل مدى صلة تسلسلات المستندات مقابل استعلام. يتميز المشروع بمحرك استدلال مسرع بواسطة GPU يستخدم التجميع الديناميكي والنواة المتخصصة لزيادة الإنتاجية. يوفر واجهة ثنائية عالية الأداء عبر gRPC كبديل لـ HTTP القياسي لتقليل زمن انتقال الشبكة وتكاليف التسلسل. يغطي النظام مجموعة واسعة من القدرات، بما في ذلك ترتيب تشابه المستندات، وإعادة ترتيب النصوص متعددة اللغات، وتصنيف التسلسلات للتنبؤ بالفئات أو المشاعر. يدعم بيئات نشر متنوعة، تتراوح من حاويات التوسع التلقائي بدون خادم إلى التثبيتات المعزولة عن الإنترنت. يتوفر تسريع الأجهزة لوحدات معالجة الرسومات NVIDIA و AMD و Apple Metal.
Offloads text processing and sequence truncation to a separate pool of threads to prevent blocking the main inference loop.
This project is a collection of technical demonstrations and prototypes that showcase various HTML5 APIs, multimedia capabilities, and web standard implementations. It serves as a frontend technology sandbox and a gallery of implementation proofs-of-concept for modern browser features. The collection includes specialized showcases for HTML5 multimedia, featuring the manipulation of audio, video, and real-time media streams. It also provides a series of experiments focused on prototyping web capabilities to verify technical feasibility and browser support in live environments. The project cov
Demonstrates background threading using Web Workers to execute heavy computations without freezing the UI.
Greenlet هو منفذ غير متزامن متعدد الخيوط ومشغل مهام عمال الويب (web worker). يعمل كغلاف تنفيذ يقوم بتفريغ الحسابات الثقيلة إلى عمال في الخلفية للحفاظ على استجابة واجهة المستخدم ومنع خيط التنفيذ الرئيسي من الحظر. يتضمن المشروع معالج كائنات قابلة للنقل مصمم لنقل مخازن البيانات الكبيرة بين الخيوط. تتجنب هذه الآلية عبء نسخ الذاكرة لتحسين نقل البيانات. تغطي المكتبة إدارة عمال الويب، مما يسهل عزل المهام غير المتزامنة وتفريغ الخيط الرئيسي.
Executes JavaScript in separate OS threads to ensure the main UI thread remains free for user interactions.
This project is a collection of implementation patterns and source code examples for building desktop applications using various Python interface libraries. It provides reference implementations and architectural patterns for multiple frameworks, including PyQt, PySide, Tkinter, Kivy, and Streamlit. The repository distinguishes itself by offering specialized examples for diverse interface types, ranging from professional desktop software and native windows to reactive web-based data dashboards and data science tools. It includes specific reference material for cross-platform UI patterns, such
Demonstrates architectural patterns for offloading heavy processing to background threads to maintain interface responsiveness.
Hive هي قاعدة بيانات NoSQL خفيفة الوزن للمفاتيح والقيم مكتوبة بلغة Dart الخالصة لاستمرارية البيانات المحلية. تعمل كمخزن مستندات آمن للأنواع يسمح بحفظ واسترجاع هياكل البيانات المعقدة والكائنات المخصصة. يتميز النظام باستخدام محولات مخصصة لتسلسل الكائنات وتشفير المفتاح المتماثل لتأمين البيانات في حالة السكون. بالنسبة لبيئات الويب، يوفر طبقة استمرارية تغلف IndexedDB وتستخدم عمال الويب (web workers). يغطي المشروع مجالات إمكانيات واسعة بما في ذلك إدارة الحاويات، وعمليات الكتابة الذرية للمعاملات، واسترجاع البيانات المفهرسة. يدعم تفريغ عمليات قاعدة البيانات إلى عزلات (isolates) خلفية للحفاظ على استجابة واجهة المستخدم ويسمح بتهيئة حاويات التخزين عبر أصول ثنائية مملوءة مسبقاً.
Offloads database operations to background isolates to prevent blocking the main user interface thread.
Workerize هو محمل وحدة عامل ويب (Web Worker) ومفرغ للخيط الرئيسي. يعمل كغلاف وكيل غير متزامن يسمح لوحدات JavaScript بالعمل في عمال الخلفية، مما يمنع تجمد واجهة مستخدم المتصفح عن طريق تفويض المهام المكثفة حسابياً إلى خيوط منفصلة. يستخدم المشروع واجهة قائمة على الوكيل لاستدعاء الوظائف داخل عامل الخلفية كما لو كانت مكالمات غير متزامنة محلية. تمكن هذه الآلية من تنفيذ الوحدات في عمال متوازيين للحفاظ على استجابة الخيط الرئيسي. يغطي النظام تنفيذ الوحدات غير المتزامنة وتكامل عامل الويب، مع التركيز على تحسين الخيط الرئيسي عن طريق نقل المنطق الثقيل خارج خيط التنفيذ الأساسي.
Loads and runs JavaScript modules in Web Workers to move heavy logic off the main thread.