Beispiel #1
0
        static void Main(string[] args)
        {
            Parallel.AnalyzeThisAssembly();
            int size = 100000;

            int[]            data  = new int[size];
            int[]            data2 = new int[size];
            Extent           e     = new Extent(size);
            Array_View <int> d     = new Array_View <int>(ref data);
            Array_View <int> d2    = new Array_View <int>(ref data2);

            Parallel.For(e, (Index idx) =>
            {
                int j = idx[0];
                d[j]  = (int)size - j - 1;
            });
            Parallel.For(e, (Index idx) =>
            {
                int j = idx[0];
                d2[j] = 1;
            });
            Parallel.For(e, (Index idx) =>
            {
                int j = idx[0];
                d[j]  = d[j] % 2;
            });
            Parallel.For(e, (Index idx) =>
            {
                int j = idx[0];
                d[j]  = d[j] + d2[j];
            });
            d.Synchronize();
            d2.Synchronize();
            for (int i = 0; i < 10; ++i)
            {
                System.Console.WriteLine(data[i]);
            }
        }