Groups 183 of 99+ julia-users › call compiled Julia image from multiple threads in Cpp 3 posts by 2 authors Igor Cerovsky Oct 6 Hello, Calling compiled Julia 0.5 code from Cpp MSVS15 from multiple threads a code that follows fails. Consider following example under WIN using Julia 0.5: include thread include iostream include julia.h Base.ccallable Int64-jl_foo x::Int64 x + 1 void TestJl -jl_options.compile_enabled JL_OPTIONS_COMPILE_OFF; -jl_options.startupfile JL_OPTIONS_STARTUPFILE_OFF; -jl_options.use_precompiled JL_OPTIONS_USE_PRECOMPILED_YES; -jl_init_with_image NULL, myJulia.dll ; -jl_function_t func1 -jl_get_function-jl_main_module, -jl_foo ; -jl_value_t in -jl_box_int64 1 ; -jl_value_t ret NULL; JL_GC_PUSH2 &in, &ret ; use computation in Julia here ... ret -jl_call1 func1, in ; std::cout returned: -jl_unbox_int64 ret \n ; JL_GC_POP ; -jl_atexit_hook 0 ; int main std::vector std::thread threads; for size_t i 0; i 5; ++i threads.emplace_back std::thread TestJl ; for size_t i 0; i threads.size ; ++i threads i .join ; return 0; Error message: : for the -enable-tail-merge option: may only occur zero or one times! Single threaded version just call TestJL as well 1thread-version 1 thread in the for loop works fine. Please, can anyone give some hints explanation, if calling code from compiled Julia is possible from multiple threads? Yichao Yu Oct 6 You cannot initialize the runtime multiple times and we don't support unmanaged threads at the moment. Ref https: github.com JuliaLang julia issues 17573 It's planned but since the threading support itself is still very experimental this does not currently have high priority. Igor Cerovsky Oct 7 Thanks for quick answer. Is there a best practice to achieve similar behavior - calling compiled Julia code in parallel?