For-loop threading methods
Windows Thread Programming : Multithreaded programming is coming more to the fore with the Intel Pentium 4's support of Hyper-Threading Technology. The approach you choose for thread synchronization--using locks or lock-free--depends on the type of application you're building. Learn more in this article on software multithreading and multithreaded programming.

by Jeff Andrews, application engineer, Intel Corp.

Explore different methods for threading a "for-loop," learning how to tailor your application to take best advantage of the Hyper-Threading Technology enabled.

Developers rejoice: When it comes to creating and synchronizing threads there are several Microsoft Windows APIs from which to choose. Knowing which of these methods is best for threading a for-loop is not always easy to determine.

Adding to the available options, Intel® compilers offer OpenMP support, providing an additional method for easy threading. While this method is the simplest and produces the most readable code, in a given case it may not be practical to use it. When best possible performance is required, then too OpenMP may not be the best solution.

In this article I will describe these different methods, explaining which is best suited for a given usage model.

Subscribers who liked this article also read:
Integrating Java and Microsoft .NET
by Jon Jagger, Content Master Ltd. Intel Corp. The right techniques...
J2EE performance optimization, part 2: the SPECjAppServer family of benchmarks
by Kingsum Chow, Ph.D., senior performance architect, Managed Runtime ...

If you're interested in this topic, these articles may be helpful:

Artificial neural nets and Hyper-Threading technology
by Chuck Desylva, Intel Corp. There are many artificial-intelligenc...
Three Methods for Speeding up Matrix-Vector Multiplication
by Kiefer Kuah, Intel Corp. Speeding up matrix-vector multiplicati...
Multi-threading in a Java environment
by Allan McNaughton, president, Technical Insights LLC. Intel Corp. ...
More WorkSharing with OpenMP
Abstract By Richard Gerber As you know, OpenMP* contains a very po...
Tutorial: Introduction to Hyper-Threading Technology (online)
Tutorial Description: This Intel tutorial details Hyper-Threading (HT)...

Related Jobs:

Software Development Engineer in Test #143519 - WA - Redmond - Microsoft Corporation
Help shape the future of wireless mobile computing! Our group is focus...
Software Development Engineer #137858 - WA - Redmond - Microsoft Corporation
We are seeking creative, highly motivated software engineers for indiv...
Lead Software Development Engineer in Test #134679 - WA - Redmond - Microsoft Corporation
Help shape the future of wireless mobile computing! Our group is focus...
Application Developer #2392348 - OH - Columbus - Ajilon Consulting
Title : Application Developer Posted : 10-11-2005 Contact ...
Principal Release Engineer - CA - Milpitas - Sigma Designs, Inc.
Description of duties and responsibilities: Highly technical and ex...
Software Development Engineer in Test #134684 - WA - Redmond - Microsoft Corporation
Help shape the future of wireless mobile computing! Our group is focus...
Lead Software Development Engineer in Test #144110 - WA - Redmond - Microsoft Corporation
The WinFS team is developing the next generation of active storage tec...
Computational Scientist - CEN - OH - Dayton - High Performance Technologies, Inc.
High Performance Technologies, Inc. (HPTi), based in Reston, VA is a s...
Sr. Netwk Infras Eng #05-2764 SD - NJ - Carlstadt - SunGard
Reference No.: 05-2764 SD Opening Date: August 22, 2005 Job Title:...
Software Development Engineer in Test #134680 - WA - Redmond - Microsoft Corporation
Help shape the future of wireless mobile computing! Our group is focus...