@parallel in Julia is for executing separate parallel processes (true 
multi-tasking, with separate address spaces).  @async is for "tasks", which 
are "green threads" and represent cooperative multitasking (within the same 
process and the same address space).

I/O in Julia is asynchronous — while one task is blocked waiting on I/O, 
another task will wake up and start running.  (This is based on the libuv 
library, which is designed for high-performance asynchronous I/O.)

The first question is whether you want to fetch URLs in separate OS 
processes, or you want to use green threads within the same process.  It 
sounds like you want the latter, in which case @async is the right thing.

The second question is whether something about the Requests.jl package is 
serializing things somehow; for that you might file an issue at Requests.jl.

Reply via email to