タグ

threadに関するtztのブックマーク (22)

  • mixi大規模障害について その2 - mixi engineer blog

    こんにちは。システム技術部たんぽぽGの森です 補足を追記しました (2010/08/20 15時) 先日のmixi大規模障害についての続報です 今回は小ネタはありません はじめに まず初めにtwitter/blogなどを通じて今回の問題の解析を行っていただいたみなさんに感謝の言葉を捧げたいと思います kzk_moverさん stanakaさん mala(bulkneets)さん llameradaさん (順不同) ありがとうございました 書き漏らした人ごめんなさい memcachedはすごい 今回の件でmemcachedに対して不安感を持たれた方もおられるとお聞きしました 説明不足だったせいで誤解を与えてしまい申し訳ありません きちんと設定および監視を行っていれば通常の使用にはまったく問題はありません 弊社にて -c 30万で起動したmemcachedに対して、先のテストスクリプトに

    mixi大規模障害について その2 - mixi engineer blog
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    tzt
    tzt 2010/02/11
    「静的ローカル変数の初期化は、関数が呼び出されてから行われるのではなく、プログラムの実行開始時点で行われます。」
  • 静的変数の初期化 - (void*)Pないと

    http://www.geocities.jp/ky_webid/cpp/language/019.html 静的ローカル変数の初期化についてですが、C言語とは仕様が異なることに注意して下さい。C言語では、静的ローカル変数は、プログラムの実行開始時点で初期化されますが、C++では、通常のローカル変数と同様に、変数定義が記述されているところで初期化されます。そのため次のソースは、C言語ではエラーですが、C++では問題ありません。 void func(int num) { static int snum = num; // C++ではOK。C言語ではエラー } 引数に渡した値によってstaticの値を決定できるということは何か面白そうなものが作れそうな気がしないこともないですね。 いずれにせよC言語とC++との違いとして押さえておきたいです。

    静的変数の初期化 - (void*)Pないと
  • Static (C++)

    The static keyword can be used to declare variables, functions, class data members and class functions. By default, an object or variable that is defined outside all blocks has static duration and external linkage. Static duration means that the object or variable is allocated when the program starts and is deallocated when the program ends. External linkage means that the name of the variable is

    Static (C++)
    tzt
    tzt 2010/02/11
    「Assigning a value to a static local variable in a multithreaded application is not thread safe and we do not recommend it as a programming practice.」CとC++では初期化のタイミングが違う。
  • Lambdacs.com

    Lambdacs.com This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: find a tutor Work from Home Health Insurance Anti Wrinkle Creams Migraine Pain Relief Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy

  • Kazuho@Cybozu Labs: 「サーバ書くなら epoll 使うべき」は、今でも正しいのか

    多数のTCP接続をハンドリングするサーバを書くなら、1コネクション1スレッドのモデルではなく、epollやkqueueのようなイベント駆動型のI/O多重化を行うべきだ、と言われます。だが、そのような主張は、「C10K問題」が書かれた2002年から7年経過した今でも有効なのでしょうか? echoサーバを書いて、ベンチマークを取ってみることにしました。 ふたつのグラフは、いずれも接続数とスループットの関係を表しています。最初のグラフは、全接続がアクティブに通信した場合、あとのグラフは、全接続のうち小数のコネクションが順次アクティブになっていく、というモデルです。これらのグラフから、以下ようなことが読み取れます。 epoll も per-thread モデルも、良くスケールする epoll は、ワークセットが小さい場合に (最大50%) per-thread モデルよりも高速 少なくとも、1コネ

    tzt
    tzt 2009/09/23
    なんとも言えないなぁ。
  • 軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech

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

    軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech
  • Windowsでプログラムの実行に使用するCPUを限定させる(プロセッサアフィニティマスクを設定する)

    解説 ハイパー・スレッディング(Hyper Threading:HT)やマルチコア、マルチプロセッサ・システムなど、複数のスレッドを、(擬似的ではなく、当に)同時に実行させることのできるシステムが増えている。Windows OSはマルチプロセッサ・システムに対応しており、これらのプロセッサが装備されていると、複数のスレッドを各CPUTIPSでいう「CPU」とは、1つのスレッドを実行する処理エンジンのことを指すものとする。HTなら2 CPU相当と数える)に自動的に割り振り、効率的に処理を実行する。 非常に便利で有用な機能であるが、場合によっては問題が発生することがある。マルチ・プロセッサ対応していない古いアプリケーション(もしくは対応やテストが不十分なアプリケーション)などでは、1つのリソース(プログラム中で利用するデータなど)を同時に複数のスレッドから操作しようとして不整合を起こした

    Windowsでプログラムの実行に使用するCPUを限定させる(プロセッサアフィニティマスクを設定する)
  • OPC Diary: OSからコンテクストスイッチを廃する

  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
  • 2008-10-01 - 兼雑記 ■[Program] デバッガとスレッドとイベント

    実行パスが一つしか無くて、ユーザやらネットワークやら、外部とのインタラクションもブロッキングして読んで問題ないようなプログラムならいいんですが、まぁなんかそうもいかないことも多く、そういう時はスレッドやら select/epoll やら使ってごにょごにょしてるわけです。でまぁ、あろはさんのとこのコメント欄を荒らさせてもらったんですが、まぁデバッガに欲しいスレッドやらイベントサポートの話。なんとなくもやもや思ってることを適当にまとめてみます。 まずまだマシなスレッドの方。まぁ適当に 100 スレッドくらいのスレッドプールの中の一つのスレッドが SEGV したとする。さあデバッガの出番。とりあえず適当に現在のスレッドの値を調べてみたところ、なんかおかしな値が入ってたとします。でまぁ、シングルスレッドでバグが無いとしたら、レースコンディションです。でそいう時にとりあえず、 thread appl

    2008-10-01 - 兼雑記 ■[Program] デバッガとスレッドとイベント
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年10月時点の調査。

    tzt
    tzt 2008/04/12
  • 2007-03-23

    明日は午前中に起きないといけない。多分無理。(諦めるのがはやい) というわけで、非同期リクエスト-レスポンスについて考える、つもりだったのだけど、なんかfutexというのを見てたので、そこらへんの話。 futexというのは、Linux で pthread の conditional variable を実装するための機能 + αといったところだろうか。 簡単な使いかたは↓こんな感じ。 #include <time.h> #include <pthread.h> #include <stdio.h> #include <asm/unistd.h> #include <errno.h> #define FUTEX_WAIT 0 #define FUTEX_WAKE 1 static inline long futex( volatile void *a, int op, int v, stru

    2007-03-23
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • http://ml.tietew.jp/cppll/cppll/article/8727

    tzt
    tzt 2008/03/14
  • マルチスレッドと共有変数 - volatile?なにそれ。 - memologue

    複数のスレッドから共有する変数(典型的にはグローバル変数)を操作する際、どんな注意事項があるか?という話題です。プラットフォームはPOSIXを仮定します。pthreadのお話です。 まず、一口に「複数のスレッドで変数を共有」といっても、おおまかにいって次のような状況が考えられます。 読むスレッドしか存在しない 読むスレッド、書くスレッドの両方が存在する 書くスレッドは、read-modify-write動作を行う 書くスレッドは、read-modify-write動作を行わない 変数の更新(メモリ操作)がアトミックに行える*1 変数の更新(メモリ操作)がアトミックに行えない*2 順に見ていきましょう。観点は、「(1) volatile修飾が必要か」「(2) mutexによるロックが必要か」の2点です。 まず、「1. 読むスレッドしか存在しない」ケース。例えば、 static const c

    マルチスレッドと共有変数 - volatile?なにそれ。 - memologue
  • 1.10 参照カウント法

    C や C++のような言語では、プログラマはヒープ上のメモリを 動的に確保したり解放したりする責任があります。 こうした作業は C では関数malloc() やfree() で 行います。C++では質的に同じ意味で演算子new や delete が使われます。そこで、以下の議論は C の場合に限定 して行います。 malloc() が確保する全てのメモリブロックは、最終的には free() を厳密に一度だけ呼び出して利用可能メモリのプールに 戻さねばなりません。そこで、適切な時にfree() を呼び出す ことが重要になります。 あるメモリブロックに対して、free() を呼ばなかったにも かかわらずそのアドレスを忘却してしまうと、ブロックが占有しているメモリ はプログラムが終了するまで再利用できなくなります。 これはメモリリーク(memory leak) と呼ばれています。 逆に、プログ

  • Manpage of SCHED_SETSCHEDULER

    SCHED_SETSCHEDULER Section: Linux Programmer's Manual (2) Updated: 2008-09-05 Index JM Home Page roff page 名前 sched_setscheduler, sched_getscheduler - スケジューリング・ポリシーとパラメータを設定/取得する 書式 #include <sched.h> int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param); int sched_getscheduler(pid_t pid); struct sched_param { ... int sched_priority; ... }; 説明 sched_setscheduler() は pid で指

  • Manpage of SCHED_RR_GET_INTERVAL