タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

concurrencyに関するmsyktのブックマーク (8)

  • Concurrency Utilitiesの「再」まとめ - Java8対応版 - argius note

    以前、このような記事を書きました。 Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい (2013-12-26) 前回の内容は、Concurrency UtilitiesだけでなくJavaのマルチスレッドの話も一部含んでいましたが、今回は、Concurrency Utilitiesだけにフォーカスして、全体が分かるように整理してまとめ直しました。 目次 概要 準備 タスク・フレームワーク (Executor) 同期キュー シンクロナイザー 並行処理コレクション 時間単位 アトミック値型とアトミック操作 ロック・フレームワーク 概要 今回は、Concurrency UtilitiesのAPIをいくつかのグループに分類し、それぞれのグループの主要な機能を「広く浅く」紹介する、という形式でまとめています。 パッケージ単位で分け、それからjava.util.con

    Concurrency Utilitiesの「再」まとめ - Java8対応版 - argius note
    msykt
    msykt 2018/01/27
    良いまとめ
  • 並行処理プログラミングの深淵~Java仮想マシン仕様 スレッドとロック~

    Logstash + Elasticsearch + Kibana Presentation on Startit Tech MeetupStartit

    並行処理プログラミングの深淵~Java仮想マシン仕様 スレッドとロック~
    msykt
    msykt 2014/05/08
    最適化によって意図しない振る舞いになる可能性があるところが面白い。こういうケースをコード解析で抽出したい
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    msykt
    msykt 2014/04/20
    @GuardedByの使い方が参考になる
  • 真にスレッドセーフなHash mapとは #渋谷java

    今や当たり前のように使われている画像認識。最先端の技術により人間を凌ぐほどの精度を叩き出すことも可能ですが、一方高度な数学を使わずに処理することも可能です。今回は有名なゲームを例に、その解説をします。

    真にスレッドセーフなHash mapとは #渋谷java
    msykt
    msykt 2013/11/24
    話の流れは分かるものの、HashMapに拘る理由が最後まで理解できなかった…。P.5にあるように、HttpSessionにMapで格納するようにしてConcurrentHashMapを使う、というのではダメだったのかな
  • Kilim

    What is Kilim? Kilim is a message-passing framework for Java that provides ultra-lightweight threads and facilities for fast, safe, zero-copy messaging between these threads. It consists of a bytecode postprocessor (a "weaver"), a run time library with buffered mailboxes (multi-producer, single consumer queues) and a user-level scheduler and a type system that puts certain constraints on pointer a

  • The Game of Distributed Systems Programming. Which Level Are You? « Incubaid Research

    The Game of Distributed Systems Programming. Which Level Are You? Posted: March 28, 2012 | Author: rslootma | Filed under: Programming | Tags: distributed systems, Functional Programming, message passing, rmi |45 Comments » Introduction When programming distributed systems becomes part of your life, you go through a learning curve. This article tries to describe my current level of understanding o

  • Lock-free スナップショットの撮り方を説明してみる - くまメモ

    マルチスレッドなどの環境下で時間経過によって勝手に変化する複数の変数を読みたい場面は多くあります。 しかしCPUは一度に一つしか値を読み書きできないので、簡単には出来ません。 何故なら読んでるそばから値が変動してでたらめな値を読むかも知れないからです。 変動してるものを読むのだから読む側が完璧じゃなくても仕方ないという妥協は有り得ますが 特定のある一瞬の時刻での状態を写真のようにパチリとフィルムに収められたら嬉しいですよね。 一番簡単なのはロックを取りながら読む事ですが、ロックは諸般の事情により使えない事とします。 前提 値が勝手に変動するという状況が分かりにくいと思うので、適当な例えとして卵の孵化を想像してみましょう。 「卵」→「ヒビ」→「ひよこ」 の順でランダムに勝手に進んで行きます。止めることは出来ませんし後戻りもしません。 こんな卵が複数ある孵化器の監視を任されたとします。卵の状態

  • Arora's Task Stealing Deque

    作成日:2005.11.27 目次 前置き データ構造 操作 擬似コード 動作 問題点 参考文献 脚注 1. 前置き マルチプロセッサ上で行う並列処理を行うプログラムが、 仕事を均等に N 分割できるものは稀だ。 プログラムの処理コストの最大値や平均値を見積もることができても、 実際の処理時間や消費メモリはプログラムの実行内容によって大きく変わっていく。 そのため各プロセッサに割り当てる負荷(ロード)が均一になるように 負荷分散を行うことが重要になる。 負荷分散を行うためには、 プログラムをある程度の粒度に分割し、 プロセッサ間で担当をやり取りできるようにする。 とりあえずプログラムを分割したものをタスクと呼ぶことにしよう。 タスクをやり取りする方法は、 大雑把に言って三つある。 マネージャーがいて、どのプロセッサがどのタスクを行うか制御する。 暇なプロセッサが、タスクを多く抱えたプロセッ

  • 1