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
}