Fibers were recently in the Ruby 1.9 branch. The Coroutine-like concept has many uses, such as implementing lightweight concurrency and others. We look at the concept and influences of Fibers in Ruby 1.9, as well as code samples.
We continue the interview with Rubinius creator Evan Phoenix and talk about internals of how the VM uses bytecode manipulation for fast debugging, problems of implementing ObjectSpace and Threading.
Exclusive InfoQ interview with Rails deployment guru Ezra Zygmuntowicz. The topics include scaling Rails, Ruby threading, and Ezra's venture Engine Yard, an interesting new Rails hosting service that employs Xen and virtualization to provide scalable service.
Visual Studio 2007 will have a new lock called ReaderWriterLockSlim. According to Joe Duffy, in addition to being faster, it solves some of the nastier design flaws of its predecessor.
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.