2010-01-03 13 views

Répondre

0

N'a pas trouvé de solution. Utilisé le ThreadPool par défaut à la place.

1

Pouvez-vous spécifier le TaskFactory utilisé dans RX? Si c'est le cas, vous pouvez en créer un avec un TaskScheduler avec un niveau de concurrence approprié. Pour le moment, il n'est pas évident de savoir s'il existe des planificateurs "stock" qui permettent cela, ou si c'est caché (Parallel LINQ offre certainement des options de "simultanéité maximum") mais c'est le plan général.

Bien sûr, si vous ne pouvez pas changer quelle tâche est utilisée, cela n'aide pas beaucoup.

+0

Comment créer un nouveau TaskScheduler? Implémenter en héritant le 'TaskScheduler' par défaut? –

+0

Inherting TaskScheduler par défaut, car presque tout est privé; et je n'ai pas envie de réécrire toute la partie du planificateur. –

+1

@Jan: tout ce que vous devez faire est de remplacer la propriété MaximumConcurrencyLevel: http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler.maximumconcurrencylevel(VS.100).aspx –