所以我有一种情况,我想将大量数据存储为共享数组,因此我可以对数据进行一些并行操作。但是,数组是一个类型的数组。当我尝试将其初始化为SharedArray
时,我得到一个错误,说它必须是一个类型。我的问题是如何在Julia中将普通结构视为一种类型,以便SharedArray
可以使用它?或者我必须做一些奇怪的转换,我将对象转换为数组中的字符串/整数并在每个子进程中反序列化它?
这是我正在尝试存储的类型
type Rating
user::Int32
item::Int32
value::Float32
end
现在我,我知道我可以尝试将其分解为并行数组,但这需要重写代码的大部分内容,而不是那样做。因此,有没有其他方法可以存储此结构或SharedArray
?
答案 0 :(得分:2)
如果您将其设为immutable,那么您应该可以将其存储在SharedArray
中。
immutable Rating
user::Int32
item::Int32
value::Float32
end
生成"普通数据"不可变结构,即
isbits
函数返回true
的一个。