SORU
19 HAZİRAN 2009, Cuma


Basit bir yangın yapmak ve C yöntem unutmak??

[OperationContract(İsOneWay = true)] özniteliği var XML olarak gördüm. Ama XML biraz yavaş görünüyor ve sadece ağır yapmayan bir işlev oluşturun. İdeal static void MethodFoo engelleme gibi bir şey olurdu(){}, ama o olduğunu sanmıyorum.

Yapmayan bir yöntem oluşturmak için en hızlı yolu c diyoruz#?

E. g.

class Foo
{
    static void Main()
    {
        FireAway(); //No callback, just go away
        Console.WriteLine("Happens immediately");
    }

    static void FireAway()
    {
        System.Threading.Thread.Sleep(5000);
        Console.WriteLine("5 seconds later");
    }
}

NBHerkes bu okuma eğer onlar aslında bitirmek için bu yöntemi istersen bir düşün. (#2 üst cevap) yöntemi, daha sonra bazı yerlerde bitirmek Varsa, ASP.NET bir uygulama gibi, bir blok yapmak ve iplik canlı tutmak gerekir. Aksi takdirde, bu yol açabilir "ateş-unut-ama-asla-aslında-Çalıştır" tabii ki bu durumda, daha basit kod yazmak olurdu. (A good description of how this works in ASP.NET)

CEVAP
19 HAZİRAN 2009, Cuma


ThreadPool.QueueUserWorkItem(o => FireAway());

(beş yıl sonra...)

Task.Run(() => FireAway());

luisperezphd ... ... belirttiği gibi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bmarian22

    bmarian22

    22 Aralık 2007
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008
  • SPBedition

    SPBedition

    24 HAZİRAN 2013