I am new to Julia and have few confusions regarding Multiprocessing and multithreading. Previously many people have asked similar questions in stackoverflow, but I still have confusions. They are as follows:
- Can multithreading with @async we can get to use more than one cpu cores at a time? Means do we get real parallel processing by running a multithreaded program on a machine having more than one core in julia?
- If first answer is yes, i.e. we get advantage of multiple cores or multiple cpus in multithreading. Then where is the need for Multiprocessing (with
using Distributed
)? - I have used multithreading in C++ Previously using the STL threads library, can anyone elaborate about its core usage. Can it take advantage of multiple cores?