2
說數組初始化,我有以下的功能,讓我創建矩陣:多線程在科特林
inline fun <reified T> Matrix2D(w: Int, h: Int, init: (Int, Int) -> T) =
Array(w){ x -> Array(h){ y -> init(x, y) } }
inline fun <reified T> Matrix2D(w: Int, h: Int, value: T) =
Array(w){ Array(h){ value } }
// For example:
val m = Matrix2D(400, 400) { x, y ->
Color(x.toDouble()/400.0, y.toDouble()/400.0, 0.0)
}
我也不想允許爲空,因爲它的將是一個痛苦的稍後處理元素訪問。
如何使用多線程/協程來初始化這樣的矩陣,其中每個線程初始化矩陣的自己的矩形,而不允許矩陣單元的可空性?