Sitisom

Thread1

Sep 8th, 2020
777
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7.  
  8. namespace parallelThreading
  9. {
  10.    
  11.  
  12.     class Program
  13.     {
  14.  
  15.         static double[] SubArray(double[] data, int index, int length)
  16.         {
  17.             double[] result = new double[length];
  18.             Array.Copy(data, index, result, 0, length);
  19.             return result;
  20.         }
  21.  
  22.         static double[] FillArray(double[] arr)
  23.         {
  24.             Random random = new Random();
  25.  
  26.             for (int i = 0; i < arr.Length; i++)
  27.             {
  28.                 arr[i] = random.NextDouble();
  29.             }
  30.  
  31.             return arr;
  32.         }
  33.  
  34.         void SumOfArray(double[] arr1, double[] arr2)
  35.         {
  36.             for (int i = 0; i < arr1.Length; i++)
  37.             {
  38.                 arr1[i] += arr2[i];
  39.             }
  40.  
  41.             for(int i = 0; i < arr1.Length; i++)
  42.             {
  43.                 arr1[i] = (Math.Sin(arr1[i]) + Math.Cos(arr1[i])) / 2;
  44.             }
  45.         }
  46.  
  47.         void ThreadingSum(double[] arr1, double[] arr2, int count)
  48.         {
  49.             int el = arr1.Length / count;
  50.             int index = el;
  51.  
  52.             for(int i = 0; i < count; i++)
  53.             {
  54.                 double[] temp1 = SubArray(arr1, index - el, index);
  55.                 double[] temp2 = SubArray(arr2, index - el, index);
  56.  
  57.                 index += el;
  58.  
  59.                 Thread thread = new Thread(SumOfArray);
  60.  
  61.             }
  62.         }
  63.  
  64.         static void Main(string[] args)
  65.         {
  66.             double[] arr1 = new double[10000];
  67.             double[] arr2 = new double[10000];
  68.  
  69.             FillArray(arr1);
  70.             FillArray(arr2);
  71.         }
  72.     }
  73. }
  74.  
RAW Paste Data