Multi-threaded software explained
Is it worth my hard earned cash?
With multi-threading starting to become the norm, hardware manufacturers have continued in their expansion of multi-core processors, which invariably allows for new software to use the multi-threading hardware available tot hem. With CPU’s that have dual cores now even open to the budget sector, becoming more available and indeed affordable, it is hard not avoid this upgrade in modern computer technology. Even the relatively old Pentium 4 has so called “HTT” (Hyper Threading Technology), that allows for two cores to be emulated, and therefore two threads to be run simultaneously, despite it being single core in hardware terms. If you find your expenditure limiting, there are still plenty of options in the second hand and budget markets, and as software begins to use these features as the norm, it would make sense to upgrade, although I suspect it will soon not be able to avoid them at all with new computers and builds. Developers do not appear to be charging more for specially designed software, yet I’m sure they will continue to support single threaded computing for a time to come.
The future
The future not only looks bright for computing, but also for one that relies heavily on multi-threading. Who knows where computing will take us, but rest-assured, processors with more cores are coming, and there probably not as far away as you think, with software using these following quickly behind. But with other factors now starting to heavily influence IT, we can expect processor manufacturer to concentrate on more energy efficient and cooler hardware, evidently not a bad thing for anyone. A multi-core processor has more available threads, yet uses comparatively less electricity compared to multiple single core systems, which are therefore inefficient and in theory, wasting resources in most cases. Now developers are utilising multi-threading more, and are aware of the mass uptake in the hardware supporting this, we can expect new developments to come a lot quicker in comparison to the move to dual core, especially as they are realising users are becoming more technology savvy with the penetration of computers into every part and more of society.
Conclusion
I am sure there is much more software to come and some I have not mentioned, yet we can expect multi-core systems to become the norm, with even budget processors now having two cores. As developers catch up with this enhancement to our hardware, what lies ahead for those of us blessed with quad core processors and upwards. Well, even after the slow uptake of programs optimised for dual-core, programmers are becoming more wary of an even greater amount of core’s on our processors, and we should see the development of software utilising all of these becoming more available in a shorter time period as before.









Can I please invite all of you who have read the article to leave any constructive criticism you may have regarding my work
This is my first article here on Icrontic, and I would love to know any areas of improvement that I can focus on for any future writing I do. Thanks for reading and I hope you enjoyed it nonetheless 
Great read, Broady. I know there are many not-so-technical people out there who still think a 3GHz dual core is a 6GHz processor and don't consider the software design required to harness the power.
SHAMELESS SELF PROMOTION: This thread goes well with my explanation of a quad core chip - http://icrontic.com/articles/quad_core
Correct your spelling of "Stnaford." This really distracts me.
I have a small admission to make - I didn't write that sentence. Keeb's added it, I presume to provide a link to our folding efforts that I had forgotten to include. I'm hoping he knows about it, and it will be corrected
any other comments ?
I have a small admission to make too... I'm not the one who edited your article
It's fixed.
By definition, it is a piece of software that is aware of more than one core/processor, and can use these to be able to simultaneously complete multiple tasks.
This is incorrect. By definition, a multi threaded application is an application that has more than 1 thread of execution.
A multi-core processor has more available threads
No, a multi-core processor has more available cores. Each core can only execute a single thread at any one point in time (exception granted for superscaler cpu's). While there are limits to the number of threads that can be executed at any one time, that limit is most often imposed by the operating system.
Do we know that guy?
mondi!