InfoQ Homepage Concurrency Content on InfoQ
-
Why Microsoft Believes that VB and C# Need an Asynchronous Syntax
The new Async CPT for VB and C# looks like it may actually make it into the core language. But with all the emphasis on multi-core systems, why is Microsoft investing so heavily in syntax for designed specifically for making single-threaded asynchronous programming easier?
-
Sneak Peak: Asynchronous Syntax for Visual Basic and C#
In a recent blog post the Visual Basic team let slip an announcement that Visual Basic and C# would be getting a new syntax for asynchronous programming. Built on top of the Task Parallel Library that was introduced in .NET 4, this adds the Async and Await keywords to both languages.
-
MacRuby Roundup: 0.7 Released, GCD-based Web Server, BridgeSupport
MacRuby 0.7 is out, with the usual performance and compatibility improvements, including Ruby 1.9.2 compatibility. To demonstrate MacRuby's tight integration with Snow Leopard's Grand Central Dispatch (GCD), the team has released ControlTower, a Rack-based web server. Also: with the new BridgeSupport, all native APIs can now be accessed and scripted.
-
Concurrency Revolution From a Hardware Perspective
Brian Goetz and Cliff Click spoke at JavaOne conference last week about concurrency revolution from a hardware perspective. They said CPU designers will focus on parallelism in the future for increasing throughput of the systems. They also discussed some point solutions like Thread Pools, Fork/Join, Map/Reduce and Actors to achieve the concurrency in applications.
-
Microsoft’s Experiments with Software Transactional Memory Have Ended
Dana Groff has announced the end of Microsoft’s experiment with software transactional memory for the .NET Framework. Known as STM.NET, this research project was announced in 2008 as an alternative to explicit locks when dealing with concurrency issues.
-
Patterns and Samples for .NET Parallel Extensions
Even though Microsoft has been working on .NET’s Parallel Extensions since 2007, there are still many features that they didn’t have time to fully implement for .NET 4.0. Some features were “too application-specific to be included in the core of the Framework” while others simply needed for testing and user feedback. So instead they are being released as a set of patterns and samples.
-
Keeping Garbage Collection Pauses Short with Growing Heap Sizes: Q&A With Dr. Cliff Click
The strong correlation between heap size and garbage collection pause time is becoming one of the major limitations to Java application scalability, and a great deal of R&D effort is going into trying to remedy the situation. InfoQ talked to Dr. Cliff Click, former architect and lead developer of the HotSpot Server Compiler and now chief JVM Architect at Azul Systems, about Azul's solution.
-
JRuby Roundup: JRuby-Prof Allows Fast Profiling, JRuby::Synchronized for Automatic Synchronization
JRuby-Prof is a new, low overhead profiler for JRuby which, unlike plain Java profilers, will generate clear, Ruby-specific reports. A new feature in JRuby is JRuby::Synchronized, a module that, when extended, will make all methods of a class synchronized.
-
Akka - Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors
Today, the Akka team released version 0.7 of their actors framework for the Java Virtual Machine. Akka attempts to address future concurrency challenges with a solution relying on message based actors, software transactional memory and appropriate fault handling strategies. InfoQ talked to Jonas Bonér about the intent behind Akka, its current state and adoption, and future plans.
-
MacRuby 0.5 Released, Debugger To Come in 0.6
MacRuby 0.5 has been released, with a new VM, AOT and JIT support. The GIL MacRuby inherited from Ruby 1.9 is now gone and Grand Central Dispatch support allows to keep a system's cores busy with Ruby threads. Work on the 0.6 release is already under way; a new debugger feature is already available in the trunk.
-
Dynamic Language Roundup: Python's GIL Gets Overhauled but not Removed, Squeak Comes to Android
The Unladen Swallow project that aims to speed up Python has proposed to be merged into mainstream Python. One of Unladen Swallow's goals was to remove the GIL; a new implementation of Python's GIL by Antoine Pitrou will be fairer and less intrusive on multicore CPUs. Also: Squeak Smalltalk has been ported to Android.
-
ConcurrentDictionary, .NET 4.0’s New Thread-Safe Hashtable
The ConcurrentDictionary is a cornerstone in .NET 4.0’s greatly increased emphasis on parallel and concurrent programming. But while vastly superior to what we have seen in the past, it isn’t a panacea and developers need to study its semantics carefully.
-
Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency
Clojure 1.1 RC1 is out and cuts the overhead of functional programming with a few new constructs: transients bring controlled mutability for persistent data structures; chunked sequences make lazy sequences more efficient. InfoQ takes a look at what makes these improvements work.
-
Beta 2 Brings Refinements to .NET’s Coordination Data Structures Library
Coordination Data Structures (CDS) is designed both to be used directly and to act as the building blocks for more complex concurrency frameworks. It includes advanced synchronization tools like the Barrier, several thread-safe collections, and a couple different ways to create futures.
-
Google Experiments with a New Language, Go
Go is a Google experimental open source new language resembling C but adding features like reflection, garbage collector, dynamic types, concurrency, and parallelism.