I am looking at OpenMP and it seems to me that while it is about time they added standardized multithreading capability to the language, that OpenMP is probably not the best solution. I may be biased of course, since I already know how to do everything OpenMP does by using exant Windows procedures. I do see it as having some use in converting existing code over to run faster on multicore systems or for programmers that don't 'get' threads, I do not think it would be the best choice for all/new applications. Another benefit of course would be portability. If it is added to the standard, then theoretically parallel code written for Win32 should also compile for linux.