ответ

5

Parallel.Invoke метод:

Parallel.Invoke(
    () => method1(), 
    () => method2(), 
    () => method3(), 
    () => method4() 
) 

Добавить пространство имен System.Threading.Tasks

+0

Он все еще застревает во время вызова их? Я не знаю почему? –

+0

@ Hanaa 'Parallel.Invoke' будет ждать, пока все методы будут завершены. Если вам нужно запустить их и пойти дальше, используйте 'Task.Run (() => method1())' – Backs

+0

Пожалуйста, не могли бы вы это проверить? http://stackoverflow.com/questions/39555945/parallelize-minimize-time-reading-number-of-sheets-from-excel-file –

2

Вы можете создать список Action делегата, где каждый делегат представляет собой вызов данного метода:

List<Action> actions = new List<Action> 
{ 
    method1, 
    method2, 
    method3 
}; 

И затем используйте Parallel.ForEach, чтобы позвонить им в p Параллельно:

Parallel.ForEach(actions, action => action());