Click here to Skip to main content
16,014,591 members
Home / Discussions / C#
   

C#

 
GeneralRe: Prevent class member circular initialization? Pin
frattaro3-Dec-10 5:58
frattaro3-Dec-10 5:58 
GeneralRe: Prevent class member circular initialization? Pin
Luc Pattyn3-Dec-10 7:04
sitebuilderLuc Pattyn3-Dec-10 7:04 
AnswerRe: Prevent class member circular initialization? Pin
PIEBALDconsult4-Dec-10 10:00
mvePIEBALDconsult4-Dec-10 10:00 
QuestionDotNet ThreadPool not meant for long running jobs? Pin
devvvy2-Dec-10 23:51
devvvy2-Dec-10 23:51 
AnswerRe: DotNet ThreadPool not meant for long running jobs? PinPopular
Eddy Vluggen3-Dec-10 0:16
professionalEddy Vluggen3-Dec-10 0:16 
GeneralRe: DotNet ThreadPool not meant for long running jobs? Pin
Dalek Dave3-Dec-10 3:18
professionalDalek Dave3-Dec-10 3:18 
GeneralRe: DotNet ThreadPool not meant for long running jobs? Pin
Eddy Vluggen3-Dec-10 6:48
professionalEddy Vluggen3-Dec-10 6:48 
AnswerRe: DotNet ThreadPool not meant for long running jobs? Pin
Keith Barrow3-Dec-10 0:21
professionalKeith Barrow3-Dec-10 0:21 
devvvy wrote:
My question is, why. Why dotnet ThreadPool is only for quick executions? This makes it kind of useless as if jobs are quick to execute you wouldn't really need to have it placed on a thread in the first place.


This seems counter-intuitive, I had to check what the article writer said for out myself. I hadn't heard this statement before but the answer (at least the one found) makes sense, to the point of being obvious. The ThreadPool has a limited number of threads available, which can recycle once a thread's process has finished. If your process is long-lived, the pool can more easily run out of threads to recycle, reducing performance.

So that leaves the question "Why bother with a ThreadPool at all?", the answer is that creating a Thread is an expensive process: if the process you are running is sort-lived compared to the creation of a new thread (and this is where the "short-lived" comes from) then creating a new thread is a bad choice. The correct choice (assuming you have no other requirements) in this case is to use a ThreadPool, the threads are recycled, reducing the overhead.

Sources:

http://htmlcoderhelper.com/when-to-use-thread-pool-in-c/[^]


http://blogs.msdn.com/b/pedram/archive/2007/08/05/dedicated-thread-or-a-threadpool-thread.aspx?wa=wsignin1.0[^]

Good question, and I've (in the best tradition of South Park) Learned something here today!

GeneralRe: DotNet ThreadPool not meant for long running jobs? Pin
devvvy3-Dec-10 15:20
devvvy3-Dec-10 15:20 
GeneralRe: DotNet ThreadPool not meant for long running jobs? [modified] Pin
Keith Barrow3-Dec-10 21:46
professionalKeith Barrow3-Dec-10 21:46 
GeneralThank you guys Pin
devvvy4-Dec-10 13:54
devvvy4-Dec-10 13:54 
AnswerRe: DotNet ThreadPool not meant for long running jobs? Pin
#realJSOP3-Dec-10 4:06
professional#realJSOP3-Dec-10 4:06 
AnswerRe: DotNet ThreadPool not meant for long running jobs? [modified] Pin
Luc Pattyn3-Dec-10 17:05
sitebuilderLuc Pattyn3-Dec-10 17:05 
AnswerRe: DotNet ThreadPool not meant for long running jobs? Pin
Pete O'Hanlon3-Dec-10 20:56
mvePete O'Hanlon3-Dec-10 20:56 
QuestionCorordinate problem when load the image in picture box in zoom mode Pin
Nivas822-Dec-10 22:10
Nivas822-Dec-10 22:10 
AnswerRe: Corordinate problem when load the image in picture box in zoom mode Pin
Luc Pattyn3-Dec-10 0:51
sitebuilderLuc Pattyn3-Dec-10 0:51 
QuestionNeeded to Create a Scrolling Ticker with LinkLabel Functionality Pin
honeyashu2-Dec-10 20:04
honeyashu2-Dec-10 20:04 
AnswerRe: Needed to Create a Scrolling Ticker with LinkLabel Functionality Pin
Jacob D Dixon4-Dec-10 3:23
Jacob D Dixon4-Dec-10 3:23 
QuestionListView in C#.net Pin
mathy2-Dec-10 19:52
mathy2-Dec-10 19:52 
AnswerRe: ListView in C#.net Pin
Hiren solanki2-Dec-10 19:54
Hiren solanki2-Dec-10 19:54 
AnswerRe: ListView in C#.net Pin
Sathesh Sakthivel2-Dec-10 21:24
Sathesh Sakthivel2-Dec-10 21:24 
GeneralRe: ListView in C#.net Pin
Hiren solanki2-Dec-10 21:42
Hiren solanki2-Dec-10 21:42 
GeneralRe: ListView in C#.net Pin
phil.o3-Dec-10 2:33
professionalphil.o3-Dec-10 2:33 
GeneralRe: ListView in C#.net Pin
Hiren solanki3-Dec-10 2:37
Hiren solanki3-Dec-10 2:37 
QuestionLinq in 3.0 Framework Pin
Tiger4562-Dec-10 18:57
Tiger4562-Dec-10 18:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.