タグ

threadに関するpochi-mkのブックマーク (4)

  • JavaFX 2ではじめる、GUI開発 第14回 非同期処理

    現在、使用されているほとんどのウィンドウシステムはイベント駆動で動作しています。マウスのクリックやキーボードからの入力だけでなく、描画要求などもイベントとして扱われます。 イベントはキューに保持され、順々に処理されていきます。ほとんどのウィンドウシステムでは、キューにアクセスする、つまりイベントを扱うのは単一のスレッドに限定されます。 もちろん、これはウィンドウシステム上で動作するアプリケーションにも適用されます。たとえば、Swingの場合、イベントを扱うスレッドはEvent Dispatch Thread (EDT)と呼ばれています。 これはJavaFXでも同様です。JavaFXの場合、イベントを扱うスレッドはJavaFX Application Threadと呼ばれます。 このことは、描画するノードもJavaFX Application Threadからしか扱えないということを意味して

    JavaFX 2ではじめる、GUI開発 第14回 非同期処理
    pochi-mk
    pochi-mk 2013/09/06
    昔 SwingUtilities.invokeLater でコード書きまくってたなぁ。JavaFX2 面白そうだしちょっと勉強してみよう。
  • Python の subprocess の preexec_fn の実装と fork のスレッドセーフティー問題

    methane @methane @riywo fork してから exec する前に実行して欲しい関数を指定します。具体的には os.setsid とか指定します。(最近の Python だと start_new_session キーワード引数指定できますが) 2013-03-24 02:11:06

    Python の subprocess の preexec_fn の実装と fork のスレッドセーフティー問題
    pochi-mk
    pochi-mk 2013/03/24
    libc とか fork/exec とか pthread とか、生で使うのはもはや今の時代に合わなくなって来てる?でも基礎的なことは理解しておくべきだろうなぁ。
  • ABA問題 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2023年1月) ABA問題(英: ABA problem)とは、マルチスレッドプログラミングにおいて同期化の過程で発生する問題であり、ある記憶域を二回読み出し、二回の読み出しが同じ値であることを「変更がない」とみなすことにしたとき、二回の読み出しの間に別のスレッドが値を変更し、他の作業を行った後また元の値に戻すと、最初のスレッドが誤って「変更がなかった」とみなしてしまうというものである。 ABA 問題は、複数のスレッドや(or プロセス)が共有されたメモリにアクセスする場合に生じる。下記のイベントの流れは、ABA 問題を発生させる。 プロセス が共有メモリから値 A を読み出す はプリエンプトされ、プロセス が

    pochi-mk
    pochi-mk 2013/03/23
    ABA問題、リスト操作とかで問題になるケースがあるのか。
  • Clojureの並列処理関連の関数 - CLOVER🍀

    Clojureで並列・並行処理といえばSTMやエージェントが有名だと思いますが、お手軽な関数も用意されているみたいなので、調べてみました。 pmap map関数の並列版です。与えたシーケンスに対して、関数を並列に適用してくれます。 (time (println (let [sleep-and-double (fn [v] (Thread/sleep 3000) (* 2 v))] (pmap sleep-and-double (range 1 6))))) ;; => (2 4 6 8 10) "Elapsed time: 3058.024539 msecs" (shutdown-agents) 少し前にこの関数を使ったエントリを書きましたが、どうもシーケンスの数だけスレッドが起動するっぽいので、その点は注意が必要そうです。 あと、裏でエージェントを使っているようなので、shutdown-

    Clojureの並列処理関連の関数 - CLOVER🍀
    pochi-mk
    pochi-mk 2012/10/25
    興味深い。そのうちmany core な環境が当たり前になったときに有効になってくるんだろうなぁ。
  • 1