InfoQ ホームページ Multi-threading に関するすべてのコンテンツ
-
Netflix Zuulが、非同期なノンブロッキングアーキテクチャに大変身
Rags Srinivas氏は、マイクロサービス向けのZuulゲートウェイの主要な再構築についてNetflixのエンジニアリングマネージャーであるMikey Cohen氏に話を聞いた。 Cohen氏はその旅路について話し、この重要な試みの動機とチャレンジに話題を進める。
-
Gil Tene氏が講演でハードウェアトランザクショナルメモリを解説
QCon New York 2016で行なわれたプレゼンテーション “Understanding Hardware Transactional Memory”で,Gil Tene氏は,ハードウェアトランザクショナルメモリ(HTM)について紹介した。概念としては古くからあったものの,やっと今,一般的なハードウェアとして利用できるようになったHTMの目的は,メモリの複数アドレスに対するアトミックな書き込みを可能にして,他のスレッドとの共同動作に矛盾を生じさせないことだ。
-
FacebookのAsyncDisplayKit - iOSアプリ用のスムーズな非同期UIが特徴
FacebookがAsyncDisplayKitをオープンソースとして公開した。元々は,旧型のデバイス上でもアプリのスムーズな動作と応答性の維持を容易に保証する目的で,同社のPaperアプリのために開発されたフレームワークだったものだ。
-
.NETが不変になる
.NETの開発でよく誤解されるのは、IEnumerable型やReadOnlyCollection型の変数がスレッドセーフだという考え方だ。IEnumerableやReadOnlyCollectionを使いたくなるようなシナリオで、真にスレッドセーフなコレクションを提供するために、MicrosoftのBase Class Library (BCL) チームは、新しい不変コレクションのプレビューを提供している。
-
NETのデッドロックを検出するPostSharp
SharpCraftersのAOPフレームワークの開発元であるPostSharpは、デッドロック検出ツールを開発した。このツールはMutex、Monitor、ReaderWriterLockのような一般的なロックプリミティブを用いて、単一の行をプロジェクトに追加するだけで利用できる。
-
Vector Fabrics、マルチコアソフトウェア最適化のためのPareonを発表
オランダのVector FabricsがPareonというツールを発表した。プレスリリースによると、このツールを使えばアプリケーションをマルチコアシステム向けに最適化できるという。
-
マルチスレッドとWPF 4.5
WPF 4.5ではマルチスレッド・データバインディングのサポートが改善されたが、このテクニックに���依然としてリスクがある。この記事では、それがどのように動いているか、安全に使うには何が必要かについて説明する。
-
なぜMicrosoftはVBとC#に非同期シンタックスが必要と信じるのか。
VBとC#の新しい非同期CPTを見ると、実際に中核言語に組込まれたように見える。しかし、マルチコア システムを重要視して、なぜMicrosoftは、特に単一スレッドの非同期プログラミングを簡単にするように設計したシンタックスに、そんなにも投資するのだろうか?
-
C# 4.0によるデッドロックの問題の「解決」
同じソースコードの最適化されたビルドと最適化されていないビルドは、それぞれ異なるデッドロックになる可能性があることを、数年前Eric Lippert氏は述べた。
-
Concurrent Basic – メッセージベースの並行性の宣言型言語
Concurrent Basicは、見込まれるVisual Basicの将来を表す。Polyphonic C#およびC-OmegaなどのC#研究言語で実行される作業に基づいているけれども、Visual Basicは宣言型プログラミングの本来備わっている傾向のため、白羽の矢が立った。その構文は、VBの宣言型イベントハンドラによって着想される。
-
より優れたスレッドセーフなコレクションの構築
スレッドセーフなコレクションには大抵いくつかの根本的な問題がある。個々の操作がスレッドセーフである一方、大抵の場合それらの操作は結合可能ではない。スタックの先頭にある要素をポップする前に要素数を調べる、といったような一般的な操作は本質的には危険である。例えば .NET 4 の Coordination Data Structuresなどのように振る舞いの結合を図る API は存在するものの、それは TryDequeue のような不格好なメソッドにつながる。
-
ThreadPoolがTask、ContinuationおよびFutureに取って代わる
.NET 4.0で、スレッドプールの新バージョンが利用可能になる。パフォーマンスおよびロードバランシングの拡張機能に加えて、この新たなスレッドプールはTaskの使用を可能にする。
-
Article: Java 6のスレッド最適化は実際に動作しているのか? - パートII
パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。
-
Article: Java 6のスレッド最適化は実際に動作しているのか?
2つのパートからなるこの記事では、シングルスレッドベンチマークの助けを借りて、Java 6のスレッドのパフォーマンスに関する疑問に答える試みをしようと思います。
-
Bill McCarthy氏が問う。「基本的にイテレーターは欠陥があるのか?」
イテレーターは、.NETプログラミングの中核である。実際にデベロッパは索引付きデータに対して作業することは極めてまれであり、たいていの作業でfor-eachループを好んで使用している。しかし、ますますマルチスレッドアプリケーションに頼りつつある中で、本質的にこのシーケンシャアクセス方式は適切なのか?