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:

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

Related Jobs:

Software Development Engineer #137860 - CA - Irvine - Microsoft Corporation
We are seeking creative, highly motivated software engineers for indiv...
Sr. Netwk Infras Eng #05-2764 SD - NJ - Carlstadt - SunGard
Reference No.: 05-2764 SD Opening Date: August 22, 2005 Job Title:...
Principal Release Engineer - CA - Milpitas - Sigma Designs, Inc.
Description of duties and responsibilities: Highly technical and ex...
***Multi-Thread - JAVA / C++ Developer #2461905 - MD - Baltimore - Ajilon
Description : Ajilon Consulting is a premier provider of Information...
Software Development Engineer #143828 - WA - Redmond - Microsoft Corporation
Do you want to play a key role in developing a database synchronizatio...
Software Development Engineer #137909 - WA - Redmond - Microsoft Corporation
We are seeking creative, highly motivated software engineers, both for...
Computational Scientist - CEN - OH - Dayton - High Performance Technologies, Inc.
High Performance Technologies, Inc. (HPTi), based in Reston, VA is a s...
Software Engineer #INTG-CA-111 - CA - Sunnyvale - Avnisoft Corporation
Job Description: Design and develop device driver for Network Interf...
Software Development Engineer #137858 - WA - Redmond - Microsoft Corporation
We are seeking creative, highly motivated software engineers for indiv...
Computational Scientist - CEA - OH - Dayton - High Performance Technologies, Inc.
High Performance Technologies, Inc. (HPTi), based in Reston, VA is a s...