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

  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012