.


:




:

































 

 

 

 


Sumlt (), .




// .

Using System;

Using System.Threading;

class SumArray { int sum;

object lockOn = new object(); // ,

//

lock(lockOn) { //

sum =0; //

for(int i=0; i < nums.Length; i++) {

sum +- nums[i];

Console.WriteLine(" " +

Thread.CurrentThread.Name + " " + sum); Thread.Sleep(10); //

}

Return sum;

}

}

}

class MyThread {

public Thread Thrd; int[] a; int answer;

// SumArray // MyThread. static SumArray sa = new SumArray();

// , public MyThread(string name, int [ ] nums) { a = nums;

Thrd = new Thread(this.Run);

Thrd.Name = name;

Thrd.Start(); //

}

// , void Run() {

Console.WriteLine(Thrd.Name + " .");

answer = sa.Sumlt(a);

Console.WriteLine(" " + Thrd.Name + " " + answer); Console.WriteLine(Thrd.Name + " .");

}

}

class Sync {

static void Main() {

int[] a = {1, 2, 3, 4, 5};

MyThread mtl = new MyThread (" #1", a);.

MyThread mt2 = new MyThread(" #2", a);

Mtl.Thrd. Join (); mt2.Thrd. Join();

, .

#1 .

#2 15 #2 .

, , 15.

. . SumArray, Sumlt (), . MyThread, sa SumArray. , SumArray MyThread. . , sum SumArray. Sumlt () , sum, . , Sumlt () . , , Sync, , .

lock Sumlt () . , lock lockOn . , . Sleep () , , . Sumlt () , . , , Sumlt () , . .

, Sumlt (). Sumlt () , , _ . sum, , Sumlt (). , Sumlt () , , sum . Sumlt ().

#1 .

#1 2 9 #1 .

#2 29

#2 .

, Sumlt () , sum.





:


: 2016-12-03; !; : 485 |


:

:

- - , .
==> ...

1956 - | 1903 -


© 2015-2024 lektsii.org - -

: 0.009 .