{"repo":"jakubtomsu/jobs","free":true,"listed":false,"github":"https://github.com/jakubtomsu/jobs","clone":"git clone https://github.com/jakubtomsu/jobs.git","description":"Simple job scheduler for Odin","language":"Odin","stars":133,"topics":["job-scheduler","jobs","multithreading","odin-lang","scheduler","gamedev"],"license":"MIT","category":"game-templates","readme_excerpt":":construction worker man: Jobs A simple and hackable job system for Odin. Latest tested Odin version: dev-2026-07:819fdc7a8 Overview The design is inspired by fiber-based job systems, most notably the one used at Naughty Dog. (see Parallelizing the Naughty Dog Engine). BUT This scheduler doesn't use fibers! The queued jobs are just executed directly on the waiting thread. From an API perspective, this is basically the same as fibers. It might require more stack space in your worker threads, but there is no need to allocate stacks for fibers. Also there is no chance of ending up on another thread after using wait , so you can use TLS and OS-provided synchronization primitives like Mutexes and Semaphores. Features: - dispatching and waiting for jobs to finish - nested jobs - utilities for batch processing of slices/arrays - full control over the thread processing loop - support for Windows, Linux and Drawin Notes: - the jobs are queued on a linked list (FILO queue) - individual jobs are allocated with context.temp allocator (or manually) - jobs are intended to finish within one frame, but you can make long running tasks with a custom allocator. A simple hello world program Examples See the examples directory for all examples. All examples: - hello - a very basic introduction to jobs - simple - simple overview with most of the features - boids - boids simulation with Raylib - background - long-running tasks over multiple frames - efficient spinning - using a custom thread proc t","default_branch":null,"files":null,"tree":[],"storefront":"/r/jakubtomsu","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jakubtomsu/jobs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}