intの 2 次元配列の 2 つのスライスをパラメーターとして受け取る次の関数があります(ここで、coreCountは使用可能なコアの量です) 。
func calculate(slice_1 [][array_size][array_size]int, slice_2 [] [array_size[array_size]int, coreCount int) {
//for each (coreCount*k + i, i = 0, ... , coreCount) matrix from slice_1 take matrix from slice_2 and check some criteria while not changing matrix under check
}
スライスはサイズが非常に大きい (数千の 2 次元配列) ため、チェックを並行して行うことをお勧めします。だから私は単純に作成します(4コアのコンピュータの場合)
go calculate(slice_1 , slice_2, 4)
go calculate(slice_1 , slice_2, 4)
go calculate(slice_1 , slice_2, 4)
go calculate(slice_1 , slice_2, 4)
しかし、それはまだ並列ではありません。どうしたの?