Go
Package Mainimport "FMT" func sum (arrays []int, ch Chan int) { fmt. PRINTLN (arrays) sum: = 0 for _, array: = range Arrays { sum + = array } ch <-sum}func Main () { Arraychan: = Make (chan int, arrayint) : = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, ten, one, one,, +} for t: = 0; t < 10; t++ { Length: = Len (arrayint) go sum (arrayint[length-t:], Arraychan) } Arrayresult: = [10]int{0} For I: = 0; i <; i++ { Arrayresult[i] = <-arraychan } fmt. Println (Arrayresult)}
C#
Class Program {static void Main (string[] args) {int[] arr = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; system.collections.concurrent.concurrentqueue<int> result = new System.collections.concurrent.concurrentqueue<int> (); var r = parallel.for (0, ten, i = = {var index = arr.) Length-i; int[] arr1 = new Int[i]; Array.copy (arr, index, arr1, 0, I); Result. Enqueue (Sum (arr1)); } ); foreach (var A in result) {System.Console.Write (a); System.Console.Write (""); } System.Console.ReadLine (); } static int sum (int[] array) {int sum = 0; foreach (var i in array) {sum + = i; } return sum; } }
Go and. Net TAP