# \[ANN\] JobGraphs.jl: Another multithreading package

**URL:** <https://discourse.julialang.org/t/ann-jobgraphs-jl-another-multithreading-package/140069>\
**Category:** Package Announcements\
**Created:** [October 16, 2026, 8:36pm UTC](https://discourse.julialang.org/t/ann-jobgraphs-jl-another-multithreading-package/140069 "2026-10-16T20:36:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nhz2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nhz2/32/44428_2.png) [@nhz2](https://discourse.julialang.org/u/nhz2)\
**Post date:** [October 16, 2026, 8:36pm UTC](https://discourse.julialang.org/t/ann-jobgraphs-jl-another-multithreading-package/140069/1 "2026-10-16T20:36:58Z")

</div>

# [JobGraphs.jl](https://github.com/nhz2/JobGraphs.jl)

This is a package to help use all the CPU cores when running multithreaded simulations or solvers. With `Threads.@threads` or OhMyThreads.jl, each parallel loop needs to spawn new tasks on each outer iteration. Loops that don’t depend on each other can’t easily overlap. [JobGraphs.jl](https://github.com/nhz2/JobGraphs.jl) lets you describe loops of parallel loops and their dependencies. This description can be planned and then run many times on a fixed number of worker tasks.

The package will be registered in a few days.
