# Multithreaded broadcast?

**URL:** <https://discourse.julialang.org/t/multithreaded-broadcast/26786>\
**Category:** Internals & Design\
**Tags:** multithreading, broadcast\
**Created:** [July 25, 2019, 9:08am UTC](https://discourse.julialang.org/t/multithreaded-broadcast/26786 "2019-07-25T09:08:08Z")\
**Posts on this page:** 1\
**Page:** 2

<div class="post-metadata">

**Author:** ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)\
**Post date:** [May 6, 2021, 2:43am UTC](https://discourse.julialang.org/t/multithreaded-broadcast/26786/21 "2021-05-06T02:43:47Z")

</div>

> [@jzr](#):
>
> Is there a tracking issue for this somewhere?

> <https://github.com/JuliaSIMD/ThreadingUtilities.jl/issues/25>
>
> Two problems:
> 1. Possible race conditions. @tkf suggested a good fix here, whic…h is to have a "job started" stated. Then, if the job hasn't started, \`ThreadingUtilitilies.wait\` can steal the task back (note that the overhead on this will be much higher than that of a proper work stealing implementation, which would use jumps).
> 2. ThreadingUtilities' tasks currently still spend some time before going to sleep. This gets in the way of \`Threads.@spawn\` and \`Threads.@threads\`, causing bad performance. It'd be great if there were something they could check to go to sleep immediately if someone used \`Thread.@spawn\` or \`Threads.@threads\`.

[Previous page](https://discourse.julialang.org/t/multithreaded-broadcast/26786.md?page=1)
