SoftwareEngineering2/ConsoleAppTasks/ConsoleAppTasks/Program.cs

147 lines
2.8 KiB
C#
Raw Normal View History

2019-05-03 14:32:11 +02:00
using System;
using System.Collections.Generic;
using System.Linq;
2019-05-03 15:44:56 +02:00
using System.Runtime.CompilerServices;
2019-05-03 14:32:11 +02:00
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleAppTasks
{
class Program
{
static void Main(string[] args)
{
2019-05-03 17:02:45 +02:00
List<Task> list = new List<Task>();
for (int i = 0; i < 10; i++)
{
Task t = new Task(() =>
{
Thread.Sleep(100);
Console.WriteLine(".");
});
list.Add(t);
}
foreach (var VARIABLE in list)
{
VARIABLE.Start();
}
2019-05-03 14:32:11 +02:00
2019-05-03 17:02:45 +02:00
Task.WaitAll(list.ToArray());
2019-05-03 15:58:44 +02:00
2019-05-03 17:02:45 +02:00
Console.WriteLine("finished");
//var t = new Task(DoIt);
//DoIt2();
/*
2019-05-03 16:47:19 +02:00
for (int i = 0; i < int.MaxValue; i++)
{
Console.Write(".");
Thread.Sleep(250);
}
2019-05-03 15:58:44 +02:00
/*
2019-05-03 15:44:56 +02:00
int i = 4;
int y = 0;
2019-05-03 14:32:11 +02:00
2019-05-03 15:44:56 +02:00
//anonyme methode
2019-05-03 15:58:44 +02:00
var t = new Task((number) =>
2019-05-03 15:44:56 +02:00
{
Thread.Sleep(2000);
Console.WriteLine("2");
2019-05-03 15:58:44 +02:00
y = 2 * (int) number;
}, i);
2019-05-03 15:44:56 +02:00
t.Start();
i = 99;
t.Wait();
/*
2019-05-03 14:32:11 +02:00
for (int i = 0; i < 999; i++)
{
Console.WriteLine("-");
Thread.Sleep(200);
}
2019-05-03 15:44:56 +02:00
*/
2019-05-03 14:32:11 +02:00
2019-05-03 15:58:44 +02:00
//Console.WriteLine(y); //198 and with number = 8
2019-05-03 14:32:11 +02:00
Console.ReadLine(); //wait for close
}
private static void DoIt()
{
Console.WriteLine(".");
for (int i = 0; i < 999; i++)
{
2019-05-03 16:47:19 +02:00
Console.Write("+");
Thread.Sleep(250);
2019-05-03 14:32:11 +02:00
}
}
2019-05-03 15:58:44 +02:00
2019-05-03 16:47:19 +02:00
private static async void DoIt2()
2019-05-03 15:58:44 +02:00
{
int i = 4;
int y = 0;
2019-05-03 16:47:19 +02:00
/*
2019-05-03 15:58:44 +02:00
//anonyme methode
var t = new Task((number) =>
{
Thread.Sleep(2000);
Console.WriteLine("2");
y = 2 * (int) number;
Console.WriteLine(y); //198 and with number = 8
2019-05-03 16:47:19 +02:00
Console.WriteLine("task finished");
2019-05-03 15:58:44 +02:00
}, i);
2019-05-03 16:47:19 +02:00
*/
Task<int> t = new Task<int>(dosomething);
2019-05-03 15:58:44 +02:00
2019-05-03 16:47:19 +02:00
t.Start();
2019-05-03 15:58:44 +02:00
i = 99;
2019-05-03 16:47:19 +02:00
//t.Wait();
await t;
Console.WriteLine(t.Result); //result wartet auf den task
Console.WriteLine("result: " + y);
2019-05-03 15:58:44 +02:00
}
2019-05-03 16:47:19 +02:00
private static int dosomething()
{
int res = 0;
for (int i = 0; i < 321; i++)
{
res++;
}
2019-05-03 17:02:45 +02:00
Thread.Sleep(200);
2019-05-03 16:47:19 +02:00
return res;
}
2019-05-03 17:02:45 +02:00
2019-05-03 14:32:11 +02:00
}
2019-05-03 17:02:45 +02:00
2019-05-03 15:44:56 +02:00
}