BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ Concurrency に関するすべてのコンテンツ

アーティクル

RSSフィード
  • InfoQ Javaトレンドレポート - 2023年11月

    本レポートは、InfoQ Java編集部が現在Javaの領域でどのような技術が採用され、どのようなトレンドが生まれているかをまとめたものである。言語であるJavaだけでなく、KotlinやScalaなどの関連言語、Java仮想マシン(JVM)、Javaベースのフレームワークやユーティリティに焦点を当てている。Javaの新バージョンの採用といったコアJavaのトレンドや、Spring Framework、Jakarta EE、Quarkus、Micronaut、Helidon、MicroProfile、MicroStreamといったフレームワークの進化についても解説する。

  • 大規模データ技術の現状と今後の方向性

    クラウドコンピューティングを前提とした大規模データ技術が利用可能となってきています。Big Dataが一過性のブームで終わるかどうかにかかわらず、スケーラブルな分散アーキテクチャーの基盤はデータベース技術に主導されつつあります。RDBとORM主体のエンタープライズシステムは、HadoopやNoSQLとの組み合わせにより複合的なデータモデルに発展しました。こうしたアーキテクチャーの革新を最適化し、複雑さを隠ぺいするためにデータタイプやデータモデルを導入する新たな動きが起こっています。また、Hadoopの多方面への発展の軸を見ることで、大規模データ技術の発展の方向性を占うことが可能です。

  • コールバック不要:Javascript に逐次プログラミングを取り戻す StratifiedJS

    StratifiedJS は Javascript に並列性構造を追加したスーパーセットであり,Javascript のコールバック地獄を過去の遺物にします。でも,どうやって? InfoQ ではその方法を,Onilabs の Alexander Fritze 氏に聞きました。

  • Concurrency and Coordination Runtimeの利用

    Nick Gunn氏は、.NETに対してConcurrency and Coordination Runtime (以後CCR)の実用的な紹介を行う。CCRは.NETで書かれているマルチスレッドアプリケーションの方法と根本的に違い、視点をスレッドから非同期タスクに移行させる。

  • RubyのFiberを非同期I/Oに使うNeverBlockとRevactor

    Fiberはユーザに試練を課すことなくこの考えを実装する有益な並行性ツールとして、ライブラリが2つあります。まさにこのためのソリューションとしてあるのがNeverBlockライブラリです。私たちはNeverBlockプロジェクトのMohammad A. Ali氏とRevactorライブラリのTony Arcier氏に話を聞きました。

  • Java 6のスレッド最適化は実際に動作しているのか? - パートII

    パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。

  • Java 6のスレッド最適化は実際に動作しているのか?

    2つのパートからなるこの記事では、シングルスレッドベンチマークの助けを借りて、Java 6のスレッドのパフォーマンスに関する疑問に答える試みをしようと思います。

  • スケーラビリティの原理

    この記事では、スケーラブルなソフトウェアシステムを構築するためのいくつかの原理とガイドラインをお伝えします。

  • JavaScriptによるマルチスレッドの実現‐Concurrent.Threadの裏側

    昨年12月3日の記事で,JavaScriptでマルチスレッドを利用可能にするライブラリ、Concurrent.Threadを紹介しました。しかし、そもそもスレッドが 1 つしかないJavaScript環境の上に、どのようにしてマルチスレッドを、しかもWebブラウザを改変することをせずに、実現しているのでしょうか? 今回はConcurrent.Threadの内部で何が起こっているのかについて、ご紹介しましょう。

  • Rubyの並行性、アクター、およびRubinius - MenTaLguY氏へのインタビュー

    Ruby 1.9でのファイバー (コルーチン) の追加、および最近のErlangおよびアクターの人気など、あまり知られていない概念がRubyプログラミングの世界に入ってきている。並行性を考えたときにRubyの世界で何が使用可能であるかを大まかに理解するため、長年RubyコミュニティのメンバーであるMenTaLguY氏に話を伺った。

  • JavaScriptへのマルチスレッド・プログラミングの導入

    Ajax開発のむずかしさ、その原因の一つに、JavaScriptではスレッドは1つしかないということが挙げられます。1つしかないスレッドの上で非同期通信をしようとするとどうしてもイベント駆動型でプログラムしなければならなくなり、複雑な記述をしなければならないのでした。通信の結果が得られるまで待っている間にも他のスレッドがユーザへの応答を行ってくれれば、こんなに大変な思いはしなくてよいはずなのです。ここでは解決方法を一つご紹介します。

  • ボックス--パフォーマンス・ボトルネックを探し出す近道

    パフォーマンス上の問題が報告される時、防御手段に凝り固まったコメントがついてくることがとても多く、そして、そんなコメントのほとんどは、どこから作業を始めるべきかを理解する上で何の役にも立ちません。このジレンマに直面し、根本的な原因から推量し始めるチームも珍しくありません。ここで「ボックス」の登場です。ボックスはシステム全体を抽象化した小さな図式です。パフォーマンス・ボトルネックの実情を思い出させてくれます。厳密な調査と併用すれば、ボトルネック発見から当て推量を排除するのに役立つでしょう。

BT