Skip to content

Commit

Permalink
Update ParallelAlgoFloyd.cs
Browse files Browse the repository at this point in the history
  • Loading branch information
SergeyKuz1001 authored Dec 8, 2019
1 parent b5d4a68 commit 26ef6b4
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion Task02/ParallelAlgoFloyd.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace Task02
{
public class ParallelAlgoFloyd
{
static int[,] dist;
private static int[,] dist;

static void parallelProc(int n, int k, int i)
{
Expand Down Expand Up @@ -36,6 +36,10 @@ static void parallelProc(int n, int k, int i)
int newI = i;
// передаём newK и newI для того, чтобы избежать замыкания
tasks[i < k ? i : i - 1] = Task.Run(() => parallelProc(n, newK, newI));
// так как i из 0..(n-1), но одно из значений i не используется (блокируется
// условием i != k), то для единообразия обработки Task tasks.Length == n - 1,
// и выражение (i < k ? i : i - 1) задаёт биекцию из [0; k-1] U [k+1; n-1] в
// [0; n-2]
}
}
// ждём выполнения всех задач для того, чтобы случайно не получилось так, что
Expand Down

0 comments on commit 26ef6b4

Please sign in to comment.