我正在尝试使用Julia并行实现代码.我正在使用@everywhere宏来使所有进程从RemoteRef获取数据.
是否可以使用仅在@everywhere表达式中的第一个进程上定义的变量名称,并以某种方式指定我希望它将该变量的值而不是变量名称发送到所有进程?
例:
r = RemoteRef()
put(r, data)
@everywhere data = fetch(r)
Run Code Online (Sandbox Code Playgroud)
这会返回错误,因为r未在所有进程上定义.
我应该如何将数据移动到所有进程?
另外,我可以告诉Julia在表达式中放置值而不是变量名吗?类似于如何name = "John"; println("Hello, $name")打印的东西"Hello, John"
我是 C# 新手,很抱歉出现语法问题,但我在任何地方都找不到答案。我正在尝试使用以下类型架构制作类型
public abstract class MyAbstractType {...}
public class MyFirstType : MyAbstractType {...}
public class MySecondType : MyAbstractType {...}
public abstract class AbstractHeap<T> {...}
public class MyFirstHeap : AbstractHeap<MyFirstType> {...}
public class MySecondHeap : AbstractHeap<MySecondHeap> {...}
public class MetaHeap<T1,T2> : AbstractHeap<T1> where T2 : AbstractHeap<T3> where T3 : MyAbstractType {...}
Run Code Online (Sandbox Code Playgroud)
最后一个定义给我带来了问题。这只是我没有意识到的语法问题,还是 C# 中不允许这种结构?