2016-01-13 5 views
0

я этот кусок кода:Какие альтернативы Threadpool?

public void GenerateImageAsync(Area area) 
    { 
     ThreadPool.QueueUserWorkItem(threading => 
     { 
      ready.Reset(); 
      GenerateImage(area); 
      ready.Set(); 
     }); 
    } 

вы можете сказать мне, как я могу изменить его или использовать альтернативу Threadpool?

+1

Почему вам нужно изменить его - в чем проблема? –

+0

да, я хочу изменить его. Я хочу использовать что-то другое вместо Threadpool – Giga

+4

Почему вы хотите избежать «ThreadPool»? Что в этом плохого? –

ответ

0

Вы можете использовать Task, который создает поток в ThreadPool, как это:

public void GenerateImageAsync(Area area) 
    { 
     Task.Run(() => { 
      ready.Reset(); 
      GenerateImage(area); 
      ready.Set(); 
     }); 
    } 

или фактическую тему так:

public void GenerateImageAsync(Area area) 
    { 
     new Thread(() => { 
      ready.Reset(); 
      GenerateImage(area); 
      ready.Set(); 
     }).Start(); 
    } 
+0

Какая из них является заменой ThreadPool? есть разница между thread и threadpool .http: //stackoverflow.com/questions/230003/thread-vs-threadpool – lazy

+0

@lazy Что вы подразумеваете под * Поток все еще не управляемый поток? * –

+1

Ну, новая тема альтернатива пулу потоков, я добавил задачу, потому что не был уверен, что OP означает класс ThreadPool или фактические пулы потоков. –