タグ

threadに関するsabroのブックマーク (21)

  • プロセスとかスレッドとかプロセス間通信とかについて書く場所

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    プロセスとかスレッドとかプロセス間通信とかについて書く場所
  • MSDN Magazine: スレッド プール - スレッド プールによるスケーラブルなマルチスレッド プログラミング

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 スレッド プールによるスケーラブルなマルチスレッド プログラミング Ron Fosner プログラミングは日ごとに難しさを増していますが、スループットができる限り高くなるようにアプリケーションをチューニングするよう求められる場合は、特に難しくなります。その要因の 1 つが、コンピューターの進化過程におけるここ数年の変化です。コンピューターの処理能力を高めるため、これまではシングル プロセッサの速度を究極まで引き上げようとしていましたが、ここ数年は処理能力が複数のコアに分散されるようになっています。これは良い傾向です。比較的コストをかけずに潜在能力を大きく引き上げることができ、多くの場合、電力消費量も、冷却ニー

    MSDN Magazine: スレッド プール - スレッド プールによるスケーラブルなマルチスレッド プログラミング
  • MSDN マガジン: タスクベースのプログラミング - タスクによるスケーラブルなマルチスレッド プログラミング

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 タスクによるスケーラブルなマルチスレッド プログラミング Ron Fosner コンピューターは、プロセッサの速度を上げることから、コア数を増やすことへと進化の方向を変えています。つまり、潜在能力の高いコンピュータが、比較的低コストで手に入るようになります。しかし、このようなシステムの潜在能力を活かすようにプログラミングを行うことが難しくなったとも言えます。こうした複数のプロセッサを余すことなく使用するには、並列処理に踏み込む必要があります。 作業を複数のコアに分散する方法は数多くあります。MSDN マガジンの 10 月号 (msdn.microsoft.com/magazine/gg232758) では、マ

    MSDN マガジン: タスクベースのプログラミング - タスクによるスケーラブルなマルチスレッド プログラミング
  • 並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi

    分散KVS kumofs のコードは、全体で約2万行です*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例から分かりますが、kumofsのような分散アプリケーションを開発するにはI/O周りの実装が大変で、とてつもなく大きな障壁になっています。*4 さらに今日では、性能を稼ぐためにマルチスレッド化が必須です。また、多数のクライアントを少ないリソースで効率よく相手にするには、非同期・イベント駆動型のアーキテクチャも必要になります。さらに、究極的な性能を達成すべく GC を利用しない C++ においては、実装のみならず設計も大変です。 これに加えてソケットAPIの難解な挙動に対処にしなければならないため、C言語やC++によるネットワークプログラミングは、vimの使いこなしなどと同

    並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi
  • C#での、正しいマルチスレッドプログラムの書き方を求めて - 情報科学屋さんを目指す人のメモ

    タグ Windows  /  インストール  /  Linux  /  設定  /  エラー  /  Java  /  Eclipse  /  AutoHotkey  /  TeX  /  C#  /  VisualStudio2008  /  対策  /  Subversion  /  LaTeX  /  Vista  /  方法  /  CentOS  /  Android  /  Microsoft  /  Windows7  /  Office  /  バージョン管理  /  プログラミング  /  eclipse  /  PowerPoint  /  SSH  /  Ubuntu  /  WindowsVista  /  コマンド  /  ショートカット  /  .NET  /  Desire  /  VisualStudio  /  便利  /  P2P  /  Unix  /

  • 軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech
  • CBBs - Concurrent Building Blocks

    About CBBs What is CBBs? News Quick Links Wiki Blog Issue Tracker Tutorial Quick Start Java Components C++ Components STM Get CBBs Download Release Notes Licence Get Involved Contributor Licenses Developer Docs Java API Docs C++ API Docs Project Documentation Project Information About Issue Tracking Mailing Lists Project License Project Team Overview Project provides a set of concurrent building b

  • 並列アプリケーションを作ってみよう | OSDN Magazine

    インテルのCoreシリーズCPUが登場して以来、マルチコアCPUは爆発的に普及している。現在では比較的低価格なCPUでも複数のコアを搭載するようになり、現在販売されているPCのほとんどはマルチコアに対応しているといっても過言ではない。しかし、まだマルチコアCPUの性能を生かす、並列処理を行っているアプリケーションは多くない。 並列処理は、一般には実装が難しい、という印象があるようだ。確かにスレッドを駆使して処理を並列化する場合、スレッドの管理やスレッド毎の連携など、考慮しなければならないことが増え面倒ではある。しかし、プログラムを並列化するための言語規格「OpenMP」や、C++用の並列化ライブラリ「Threading Building Blocks」といった並列化支援技術を利用することで、プログラムの並列化へのハードルは大幅に低くなる。また、インテルの開発製品「Parallel Stud

    並列アプリケーションを作ってみよう | OSDN Magazine
  • MySQLに対するDrizzleの答え #1 スレッド管理編 - mixi engineer blog

    先日、Drizzleのスレッド管理を担うコアの一部分がモジュール化され、勉強がてらMySQLのスレッド管理の設計を調べてみました。その時のメモ(だから文が少し固いかも)と、Drizzleでの戦略を今回のエントリーで公開します。 最後のDrizzleでは?セクションまではプログラミングの教科書に載っている様な典型的なセオリを述べているだけなので、MySQLのインターナルに詳しい方は最後まで飛ばした方が良いかもしれません。 ちなみにソースはMySQL 5.1とMySQL 6.0のドキュメントです http://dev.mysql.com/doc/refman/6.0/en/connection-threads.html http://dev.mysql.com/doc/refman/5.1/en/connection-threads.html 現在の仕組みと制限 現在のMySQLでは新たなクラ

    MySQLに対するDrizzleの答え #1 スレッド管理編 - mixi engineer blog
  • Taika.org

  • C++0xのマルチスレッド機能

    はじめに C++の新しい標準規格である「C++0x」の大きな新機能の1つが、マルチスレッド処理のサポートです。 従来のC++では、マルチスレッド機能は標準規格の拡張としてコンパイラごとに提供されていたため、細かな部分がコンパイラやプラットフォームによって異なっていました。しかしC++0xでは、すべてのコンパイラが同じメモリモデルに準拠し、同一のマルチスレッド機能を利用できることになります(ただし、従来同様の拡張をコンパイラが独自に提供することも可能です)。 開発者の立場からすると、マルチスレッドのコードを別のコンパイラやプラットフォームへ移植するときの手間を大きく省くことができます。複数のプラットフォーム向けの開発を行う場合でも、種々雑多なAPIや構文をいくつも頭に入れておく必要がありません。 新しいスレッドライブラリの中心を担うのは、実行スレッドを制御するstd::threadクラスです

    C++0xのマルチスレッド機能
  • Parallel Pattern Library - Faith and Brave - C++遊ぼう

    VC++10(VS2010)では、 Parallel Pattern Library (PPL) というのが提供されます。 これは並列処理を行うためのライブラリです。 インクルードするのは で、名前空間は Concurrency です。 まず、 std::for_each の並列処理版である parallel_for_each template <typename InputIterator, typename Function> Function parallel_for_each(InputIterator first, InputIterator last, Function func); // ※当は _Input_iterator _First, ... のようになってますが、読みやすいように勝手に直してます。 #include <iostream> #include <vec

    Parallel Pattern Library - Faith and Brave - C++遊ぼう
  • 並列処理でActiveRecordを使う(ActiveRecord::Base.allow_concurrencyをtrueにする)

    ※ドキュメントを読みながらこんなもんかな?とやってみたやつなので問題あるかもしれません。何かあればコメント頂けると嬉しいです。 例えば、DBからデータを取り出して逐次メールを送信する場合。 よく知られているようにメールの送信はコネクションの確立やSMTPサーバの処理などの待ち時間が長く、逐次処理をしていると無駄が大きすぎる。 処理を並列化して、あるメールの送信待ち時間を他のメールの構築等に充てて無駄をなくすことを試みる。 環境 Ruby 1.8.6 Rails 2.1.0 PostgreSQL 8.3 処理の並列化 Thread.newを使う。単純に実装すればこんなかんじ。 # 未送信のレコードをそれぞれ別々のスレッドで処理するサンプル threads = [] mails = find(:all, :conditions => ["sent = ?", false]) mails.eac

    並列処理でActiveRecordを使う(ActiveRecord::Base.allow_concurrencyをtrueにする)
  • MASDA » 非同期処理いろいろ

    Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/sites/heteml/users/m/e/t/metaphor/web/masuda/blog/wp-includes/classes.php on line 576 Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/sites/heteml/users/m/e/t/metaphor/web/masuda/blog/wp-includes/classes.php on

  • マルチスレッドプログラミングメモ: ある SE のつぶやき

    CPUのマルチコアに対応するためには、マルチスレッドプログラミングが必要になるのでちょっとメモ。これから勉強開始です。。。 @IT:連載:.NETマルチスレッド・プログラミング入門 @ITで連載されている、.NETのマルチスレッドプログラミング入門記事 .NETマルチスレッドプログラミング 目次:CodeZine CodeZineで連載されている、.NETのマルチスレッドプログラミング入門記事 同時実行 : 同時実行の問題を特定するためのツールと手法 Microsoft が公開しているマルチスレッドプログラミング時の問題に対処するツールと方法 マルチスレッド (C# によるプログラミング入門) C#マルチスレッドプログラミング 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編 定番書籍? 気になる計数セマフォ。Javajava.util.concurrent.Se

  • ActionScript Thread Library 1.0 (そうめん) ドキュメント

    ActionScript Thread Library 1.0 (そうめん) は、タスクシステムと Java のスレッドモデルをベースとした疑似スレッドライブラリです。 複雑で冗長になりがちな、イベント処理や非同期処理、リアルタイム処理を、分かりやすくスマートに記述することを可能にします。 もちろん、割り込みやキャンセル、例外処理もバッチリです。スレッドを使って、イベントリスナー地獄から抜け出しましょう。 ※ActionScript Thread Library は、名前こそスレッドですが、実体はタスクシステムにスレッドモデルを搭載したものなので、 「スレッド」と考えるよりは、「タスクシステム」だと考えた方が理解が早いでしょう。このドキュメントもその前提でお読みください。 1. スレッドライブラリの導入 1-1. スレッドとは はじめにこの処理をして、次にこの処理をして...、という処理の

  • pthread でキューを書いてみる - IT戦記

    この記事は全然ダメだったようです。 こちらに新しく書き直しました。 http://d.hatena.ne.jp/amachang/20080617/1213694238 こんな感じになった #include <stdio.h> #include <stdlib.h> #include <memory.h> #include <pthread.h> static int* q; static int n; // 次に入れるインデックス static int l; // 次に出すインデックス static int s; static pthread_mutex_t m; static pthread_cond_t c; void initQ (size_t size) { n = 0; l = 0; s = size; // キューの領域確保 q = (int*)malloc(s * size

    pthread でキューを書いてみる - IT戦記
  • はてなブログ | 無料ブログを作成しよう

    晴天の価値 2月中旬に出張で千葉へ行った。5日間の滞在中はずっと快晴で、気温は20℃に迫る春のような暖かさだった。仕事は朝から晩まで現場を走り回る過酷なもので、身体的にも精神的にも追い込まれた。毎朝、京葉線から見える美しい景色を眺めて正気を保っていた。太平洋へ燦々と…

    はてなブログ | 無料ブログを作成しよう
  • ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT

    ThreadとHashMapに潜む無限回廊は実に面白い?:現場から学ぶWebアプリ開発のトラブルハック(10)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) マルチスレッドのトラブルハックはさっぱり分からない… 対処が難しいトラブルといえば、GC(ガベージ・コレクション)とマルチスレッド処理に起因することが多い。 前々回(「肥え続けるTomcatと胃を痛めるトラブルハッカー 」)と前回(「JavaのGC頻度に惑わされた年末年始の苦いメモリ」)の2回にわたってGC、特にメモリ周りのトラブルを取り上げた。そこで今回は、マルチスレッド処理のトラブルの1つ、「レースコンディション(競合状態)

    ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT
  • InfoQ: JavaScriptへのマルチスレッド・プログラミングの導入

    function backgroundLoad ( ids ) { for ( var i=0; i < ids.length; i++ ) { var a = getArticleWithCache(ids[i]); backgroundLoad(a.children); } } このbackgroundLoadはIDの配列を引数に取り、その各IDに対して上で定義したgetArticleWithCacheを呼び出します。これでIDに対応する記事のデータがキャッシュされます。そして読み込んだ記事の子記事のIDに対してbackgroundLoadを再帰的に呼び出すことで、ツリー全体をキャッシュすることができます。 ここまですべてうまくいっているように見えます。しかし、一度でもAjax開発を経験したことのある方ならば、これではうまくいかないということはすでにおわかりだと思います。これまでの例で

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