ben varsa bu: Farklı bir ile DoSomething
Çoklu ve .NET kapanışları
public string DoSomething(string arg)
{
string someVar = arg;
DoStuffThatMightTakeAWhile();
return SomeControl.Invoke(new Func<string>(() => someVar));
}
Ve bu yöntem birden çok iş parçacığı aynı anda çağrılabilir ve bir iplik DoStuffThatMightTakeAWhile
sıkışmış edilir ve daha sonra ikinci bir iş parçacığı çağırır arg
, bu, tüm iş parçacıkları için someVar
değerini değiştirecek ve sonuç olarak, her iki çağrı için1 ikinci sürümü döndürür veya her bir iş parçacığı için bir someVar
var mı?
EditAction
benim Func
olması gerektiğini düşünüyorum.
Yani birkaç kelimeyle, 'dize myVar gibi bir beyanı;' Ben 'new' anahtar kelime ile bir nesne oluşturarak ediyorum gibi yeni bir' hemen hemen myVar' __create__ olacak? Bu aynı zamanda özyinelemeli çağrılar için de geçerli olur mu (eğer 'DoSomething' 'DoSomething' olarak adlandırılırsa)? – Juan
@jsoldi: yönlü bellek ayırıcısı yeni yerli oluşturur ve nesneler perde arkasında çok farklı olabilir için yolu yeni depolama oluşturur, ancak kavramsal olarak ikisi de aynı şeydir. Ve evet, özyinelemeli çağrılar * aktivasyonlar * sadece özyinelemeyen aramalar gibi. Her * aktivasyon * yeni bir grup yerli halkı alır. –
Neden buna "yöntem çağrısı" diyorsunuz ve "yöntem çağrısı" değil. Bu özel bir dönem mi? – Restuta