InfoQ Homepage Concurrency Content on InfoQ
-
.NET Goes Immutable
One of the most common misunderstandings in .NET development is the idea that variables of type IEnumerable or ReadOnlyCollection are thread-safe. In order to offer truly thread-safe collections for scenarios where you would be tempted to use IEnumerable or ReadOnlyCollection, Microsoft’s Base Class Library (BCL) team is offering a preview of a new set of immutable collections.
-
.NET Deadlock Detection with PostSharp
SharpCrafters, makers of the AOP framework PostSharp, have developed a drop-in deadlock detection toolkit. This toolkit works with most standard locking primitives such as Mutex, Monitor, and ReaderWriterLock with only a single line of code added to the project.
-
Interview on Rust, a Systems Programming Language Developed by Mozilla
Rust is a systems programming language developed by Mozilla and targeted at high performance applications. This post contains an interview with Graydon Hoare, Rust’s creator.
-
Loop: A Compact JVM Language for Multi-Core
As a programming language, Loop is compact JVM language influenced by Haskell, Scheme, Ruby and Erlang. It also tries to bring together the best features of functional programming and OO languages, in a consistent and pragmatic manner.
-
Vector Fabrics Introduces Pareon for Multicore Software Optimization
The Dutch company Vector Fabrics recently introduced its tool called Pareon. According to the company’s press release, the tool allows to optimize applications for multicore systems.
-
Go 1–The First Major Release of the Google Go Language
Go has reached the first major release, Google promising it will be stable for the years to come. YouTube uses Go in their core infrastructure.
-
Multithreading and WPF 4.5
WPF 4.5 has improved its support for multi-threaded data binding, but the technique is still risky. This report attempts to explain how it works and what’s involved in using it safely.
-
MSEPT'12 - Conference on Software Engineering for Multicore Systems
It is hard to leverage the parallelism provided by recent processor architectures. As these CPUs are now available even in the low cost price sector, the main challenge of software engineers is to utilize the processors in their applications or apps. The International Conference on Multicore Software Engineering, Performance, and Tools (MSEPT'12) will focus on possible answers.
-
Task Parallel Library Improvements in .NET 4.5
Microsoft has been working on ways to improve the performance of parallel applications in .NET 4.5, specifically those using the Task Parallel Library. One of most impressive improvements is reducing the overhead for waiting on 100,000 tasks from 12,000,000 bytes to a mere 64 bytes.
-
Task Parallel Library for Silverlight
Silverlight’s asynchronous service model forces developers to deal with multi-threading from the very beginning. So it seems odd that Microsoft choose to omit the Task Parallel Library, which is the core of .NET’s multi-threading infrastructure. Fortunately there are options.
-
Software Architecture in the Movies
Keeping up-to-date with software architecture can be a tough endeavor. Information is normally available within thick books or somewhere hidden in the Web. Another more entertaining way can be to watch clips available at video sites such as YouTube and Vimeo.
-
Rx 1.0 Solves the Problem of Asynchronous Data Access
Microsoft has released version 1.0 of their Reactive Extensions (Rx) library after two years in incubation. Rx combines event-driven UI with LINQ, concurrency and asynchronous calls.
-
C++ AMP Provides Massive Parallelism
Microsoft wants to give C++ developers tools for writing parallel applications running on zillions of GPUs/cores locally or in the cloud.
-
Explaining .NET’s Barrier Class
With the increased emphasis on multi-core systems an understanding of parallel and concurrent programming is more important than ever. Fortunately .NET 4 has made a lot of advances in the types of synchronization primitives available to developers. One such primitive is the Barrier, which Emad Omara uses to implement a parallel merge sort.
-
Akka 1.1 Released, Brings Many Improvements to Futures and Performance, Reduces Dependencies,
Akka 1.1 was released with many improvements in performance, Futures and more. The basic Akka also has no dependencies except for Scala 2.9. InfoQ caught up with Jonas Bonér to talk about the current state and the future of Akka.