kod göz önünde:İş parçacığı/BeginInvoke nedir? [Başlangıç]
class Work
{
public void DoStuff(string s)
{
Console.WriteLine(s);
// .. whatever
}
}
class Master
{
private readonly Work work = new Work();
public void Execute()
{
string hello = "hello";
// (1) is this an ugly hack ?
var thread1 = new Thread(new ParameterizedThreadStart(o => this.work.DoStuff((string)o)));
thread1.Start(hello);
thread1.Join();
// (2) is this similar to the one above?
new Action<string>(s => this.work.DoStuff(s)).BeginInvoke(hello, null, null);
}
}
ayrı iplik bazı iş başlangıç kolay (1) kabul edilebilir bir şekilde var mı? Daha iyi bir alternatif değilse çok takdir edilecektir.
(2) aynısını yapıyor mu? Ben
daha iyi bir anlayış :)/Moberg bir başlangıç yardımcı Umut .. ne sormak yeni iş parçacığı başlatılıp başlatılmadığını, ya tahmin
güzel bir yazı burada vardır: http://ondotnet.com/pub/a/dotnet/2003 burada (2) (1) makul eşdeğer olarak görünmelidir nasıl Threads ve asenkron olmayan delegeler arasındaki nüansları açıklayan /02/24/asyncdelegates.html. –
Bir iş parçacığı kadar pahalı bir şey kullanmak ve sonra Thread.Join ile boşa harcıyor * kabul edilemez. Thread ve threadpool iş parçacığı arasında seçim yapmanıza yardımcı olacak birçok kaynak var. –