DEV Community

Hakan Yalitekin
Hakan Yalitekin

Posted on • Originally published at hakanyalitekin.wordpress.com on

Task.Factory ile Asenkron Örneği

Merhaba, bugün öğrendiğim bir yordamı burada küçük bir örnek ile paylaşmak istiyorum.

Örneğe geçmeden önce işin mantığını kavramak adına bulinkteki makaleyi mutlaka okumanızı öneriyorum.

Makalede özetle anlatılmak istenen: A işleminin, B işleminin sonucu ile işi yoksa A işlemi B işlemini neden beklesin? A işlemi vakit kaybetmeden işlerine devam edebilir.

Senaryo şöyle; hali hazırda metodunuz işlemine devam ederken sizin aralara log satırları eklemeniz lazım ama loglama işlemini hali hazırda ki metodunuz beklememeli, normal hayatına devam etmeli.


  static void Main(string[] args)
        {
            Logla();
            BirseylerYap();
            Console.ReadKey();
        }

        public static void BirseylerYap()
        {
            Console.WriteLine("Diğer işlemlere devam ediliyor...");
        }

        public static void Logla()
        {
            Console.WriteLine("Loglamaya başlandı.");
            Task task = Task.Factory.StartNew(() =>
            {
                //Asenkron çalışalacak kodlar buraya yazılacak.
                Thread.Sleep(3000);
                Console.WriteLine("Loglama tamamlandı.");
            });
        }

Enter fullscreen mode Exit fullscreen mode

Kaynaklar
https://medium.com/@atarikguney/asenkron-asynchronous-programlama-nedir-296230121f9d
https://enginpolat.com/tpl-task-parallel-library-task-class/
https://seesharpdili.blogspot.com/2015/02/task-baslatma.html

Discussion (0)