class Program
{
static async Task Main()
{
var stack = new ThreadSafeStack(50);
var tasks = new Task[11];
var done = false;
tasks[0] = Task.Run(() =>
{
do
{
Console.WriteLine($"Max value: {stack.GetMax()}");
Thread.Sleep(100);
} while (!done);
});
for (int i = 0; i < 10; i++)
{
int threadNum = i;
tasks[i + 1] = Task.Run(() =>
{
for (int j = 0; j < 5; j++)
{
stack.Push(threadNum);
Thread.Sleep(50);
}
});
}
await Task.WhenAll(tasks.Skip(1));
await Task.Delay(200);
done = true;
}
}
Это то, что у меня есть на данный момент. Мне интересно, можно ли внести какие-либо улучшения? Я пытаюсь улучшить структуру своего кода, не могли бы вы дать мне несколько советов? Спасибо!!
[code]class Program { static async Task Main() { var stack = new ThreadSafeStack(50); var tasks = new Task[11]; var done = false;
tasks[0] = Task.Run(() => { do { Console.WriteLine($"Max value: {stack.GetMax()}"); Thread.Sleep(100); } while (!done); });
for (int i = 0; i < 10; i++) { int threadNum = i; tasks[i + 1] = Task.Run(() => { for (int j = 0; j < 5; j++) { stack.Push(threadNum); Thread.Sleep(50); } }); }
await Task.WhenAll(tasks.Skip(1)); await Task.Delay(200); done = true; } } [/code] Это то, что у меня есть на данный момент. Мне интересно, можно ли внести какие-либо улучшения? Я пытаюсь улучшить структуру своего кода, не могли бы вы дать мне несколько советов? Спасибо!!