With multi-core CPUs finding their way into server farms and the desktop not far behind, new techniques to take advantage of them are desperately needed. Microsoft is seeking to address these with Parallel LINQ, a research project to add automatic multithreading to LINQ queries.
Two recent items on the internet have looked at the topic of multi-core processors and Java. A recent article by Randall Scarberry of JavaWorld.com looks at using the Java concurrency API to write multi-threaded algorithms. Billy Newport of IBM also recently written a blog post detailing how Java may not be well suited for multi-core processors.
With dual and quad-core CPUs finding their way onto personal computers and 32-core processors predicted in the next 3 to 5 years, concurrency is becoming a major concern for developers. Joe Duffy, author of Professional .NET Framework 2.0 and the upcoming Concurrent Programming on Windows presents his opinions and recommendations for creating reusable, concurrent libraries in .NET.
The CLR can be hosted in a wide variety of environments. Out of the box these include Internet Explorer, IIS, and SQL Server 2005, and developers are free to create their own. Unfortunately, one thing they don't support is fibers.