using static System.Console ;
using System.Threading ;
using System.Threading .Tasks ;
using System.Diagnostics ;
public class Program {
public static void Main( string[ ] args) {
Task wait = ComDelay( ) ;
WriteLine( "O Main está executando algo após o Delay" ) ;
wait.Wait ( ) ;
ComSleep( ) ;
WriteLine( "O Main está executando algo após o Sleep" ) ;
}
static async Task ComDelay( ) {
var sw = new Stopwatch( ) ;
sw.Start ( ) ;
WriteLine( "Início Delay" ) ;
await Task.Delay ( 2000 ) ;
WriteLine( "Demorou {0}ms" , sw.ElapsedMilliseconds ) ;
WriteLine( "Fim Delay" ) ;
}
static void ComSleep( ) {
var sw = new Stopwatch( ) ;
sw.Start ( ) ;
WriteLine( "Início Sleep" ) ;
Thread.Sleep ( 2000 ) ;
WriteLine( "Demorou {0}ms" , sw.ElapsedMilliseconds ) ;
WriteLine( "Fim Sleep" ) ;
}
}
//https://pt.stackoverflow.com/q/86014/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CgpwdWJsaWMgY2xhc3MgUHJvZ3JhbSB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgVGFzayB3YWl0ID0gQ29tRGVsYXkoKTsKCQlXcml0ZUxpbmUoIk8gTWFpbiBlc3TDoSBleGVjdXRhbmRvIGFsZ28gYXDDs3MgbyBEZWxheSIpOwogICAgICAgIHdhaXQuV2FpdCgpOwogICAgICAgIENvbVNsZWVwKCk7CgkJV3JpdGVMaW5lKCJPIE1haW4gZXN0w6EgZXhlY3V0YW5kbyBhbGdvIGFww7NzIG8gU2xlZXAiKTsKICAgIH0KCiAgICBzdGF0aWMgYXN5bmMgVGFzayBDb21EZWxheSgpIHsKCQl2YXIgc3cgPSBuZXcgU3RvcHdhdGNoKCk7CgkJc3cuU3RhcnQoKTsKICAgICAgICBXcml0ZUxpbmUoIkluw61jaW8gRGVsYXkiKTsKICAgICAgICBhd2FpdCBUYXNrLkRlbGF5KDIwMDApOwogICAgICAgIFdyaXRlTGluZSgiRGVtb3JvdSB7MH1tcyIsIHN3LkVsYXBzZWRNaWxsaXNlY29uZHMpOwogICAgICAgIFdyaXRlTGluZSgiRmltIERlbGF5Iik7CiAgICB9CgogICAgc3RhdGljIHZvaWQgQ29tU2xlZXAoKSB7CgkJdmFyIHN3ID0gbmV3IFN0b3B3YXRjaCgpOwoJCXN3LlN0YXJ0KCk7CiAgICAgICAgV3JpdGVMaW5lKCJJbsOtY2lvIFNsZWVwIik7CiAgICAgICAgVGhyZWFkLlNsZWVwKDIwMDApOwogICAgICAgIFdyaXRlTGluZSgiRGVtb3JvdSB7MH1tcyIsIHN3LkVsYXBzZWRNaWxsaXNlY29uZHMpOwogICAgICAgIFdyaXRlTGluZSgiRmltIFNsZWVwIik7CiAgICB9Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzg2MDE0LzEwMQ==