> Whats the technical difference between multitasking and multithreading?

Only machines with multiple processing streams (IE Multi-CPU) actually 
process more than 1 thing at the same time (although computational units
within modern CPUs are essentially multi-stream)...

The difference between multi-tasking and multi-threading is rather arbitrary.

Multi-tasking is generally what an OS does to allow several independant programs
to perform their own work (appearing to the user as if it's simultaneous).

Multi-threading is usually the concept of several interdependant streams of
execution working together to reach a common goal. 

A first glance this appears that single processor machines cannot gain from
multithreading as a divide and conquer solution - but... The OS dictates when
each thread gets to performs its bit of work - if this work involves waiting for a
hard-drive to respond to a seek or a graphics-card operation to complete, the OS
can give the CPU time to another thread that isn't sitting idle... The cost comes
in the overhead in managing threads - balancing this against machine resources
and algorithmic features is only solved by very heuristic means - roughly speaking,
if your threads are heavy on the peripheral or device level then threads will pay off
very well (assuming that the machine architecture is such that accessing those
peripherals does not stall the CPU IE WinModems etc)...

Other than processing performance gains threads can when used well improve
feedback mechanisms and responsiveness of programs during times when intense
processing is being performed.

--
Aaron Scott-Boddendijk
Jump Productions
(07) 838-3371 Voice
(07) 838-3372 Fax


---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz

Reply via email to