BT

Facilitating the spread of knowledge and innovation in professional software development

Contribute

Topics

Choose your language

InfoQ Homepage Multi-threading Content on InfoQ

  • .NET 6: Threading Improvements

    While numerous libraries exist to abstract away the complexities of asynchronous and concurrent programming, developers still need to drop down to lower thread-handling logic from time to time. Continuing our API changes for .NET 6 series, we look at some new tricks for multi-threading.

  • Improving Webapp Performance with Multi-Threading: a Study of Web Workers' Communication Overhead

    Surma, Web Advocate at Google, recently published a study on the performance of postMessage, the method used by web workers to communicate. Surma concludes that while postMessage comes with some overhead, provided the payload is below a given budget, moving non-UI tasks off the main thread may result in increased overall user-perceived performance.

  • Netflix Zuul Gets a Makeover to a Asynchronous and Non-Blocking Architecture

    Rags Srinivas caught up with engineering manager at Netflix, Mikey Cohen, regarding their major re-architecture of their Zuul gateway for microservices. Cohen talks about the journey and walks through the motivation and challenges of this significant effort.

  • Gil Tene: Understanding Hardware Transactional Memory

    In his presentation "Understanding Hardware Transactional Memory" at QCon New York 2016, Gil Tene introduces hardware transactional memory (HTM). Whereas the concept of HTM is not new, it is now finally available in commodity hardware. The purpose of HTM is to be able to write to multiple addresses in memory in an atomical way so that there cannot be inconsistencies in cooperation other threads.

  • Lock-free Programming in C++ with Herb Sutter

    At CppCon 2014, Herb Sutter gave a talk about lock-free programming in C++ where he provided the fundamental concepts of lock-free programming, and presented three algorithms to show lock-free techniques. Here is a summary of the most relevant points in the talk.

  • How Immutable State Helped Facebook to Improve Its iOS App Architecture

    Facebook has been working in the last two years to evolve the architecture of its iOS app with the goal of improving performance, abstractions, and the underlying development model. Adam Ernst and Arl Grant, software engineers at Facebook, explained what issues they had to solve and how they did in a @Scale 2014 talk.

  • Facebook AsyncDisplayKit Touts Smooth Asynchronous UI for iOS Apps

    Facebook has open-sourced its AsyncDisplayKit, a framework originally built for Facebook's Paper app that promises to make it easier to keep apps smooth and responsive even on older devices.

  • .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.

  • 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.

  • 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.

  • 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?

  • C# 4.0 "Fixes" Deadlock Issue

    C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.

  • Concurrent Basic – A Declarative Language for Message-Based Concurrency.

    Concurrent Basic represents a possible future for Visual Basic. Though based on work done in C# research languages such as Polyphonic C# and C-Omega, Visual Basic was chosen for its inherent predisposition towards declarative programming. The syntax is even inspired by VB’s declarative event handlers.

  • Building a Better Thread-safe Collection

    Jared Parsons proposes a better thread-safe collection. By using a design pattern that strongly encourages, but not enforces, thread-safety, his API is both easy to use and easy to understand.

BT