在他们arXiv paper,朱莉娅的原始作者提到以下几点:朱莉娅的并行性。功能和局限性
2.14 Parallelism
。 并行执行由标准库中Julia实现的基于消息的多处理系统提供。 语言设计支持通过 提供对称协程的这种库的实现,它也可以被认为是协作调度的线程 。此功能允许在库中隐藏异步通信,而不要求 用户设置回调。 Julia目前不支持本地 线程,这是一个限制,但其优点是避免了同步使用共享内存的复杂性。
他们是怎么说朱莉娅不支持本地线程是什么意思?什么是本地线程?
其他解释语言如Python或R是否支持这种类型的并行?朱莉娅独自一人吗?
谢谢。当你用Python说“没有实际的Python代码的并行执行是可能的”时,你的意思是在同一个过程中,是正确的吗?根据我的理解,Python **已经**支持通过多处理包使用子进程的共享内存并行性。换句话说,当你说'当我们添加它时,它将是真正的并发性,并且不会有GIL阻止同时执行Julia代码。“',你指的是Julia用* *本地线程**,否则Julia会像Python一样实现共享内存并行。正确? – 2013-05-07 19:17:49
是的,如果它在不同的进程中,那么我们就不再谈论线程了。目前还不清楚Julia中的共享内存并行性的性质是基于具有共享内存的线程或进程,并且这种区别在任何情况下都是实现细节。 Python的多处理程序包看起来确实是一种多进程共享内存并行机制,但它并不像我希望它适用于语言级原语那样方便或自然。 – StefanKarpinski 2013-05-07 21:47:51
我还应该指出,像Python的多处理包这样的实验性工作已经完成:https://groups.google.com/forum/?fromgroups=#!searchin/julia-users/shmem$20mmap/julia-users/ Y_ME9uO5tVQ/HR0PPwtRIfIJ。 – StefanKarpinski 2013-05-07 21:50:30