タグ

解説とスレッドに関するiwwのブックマーク (10)

  • Difference between -pthread and -lpthread while compiling

    iww
    iww 2017/07/11
    -pthreadオプションを付けると、なんかdefineが増えて、もしかしたらスレッドに最適化してくれるかもしれない という話。
  • -pthread を忘れると std::thread で例外が発生する仕組み - Qiita

    std::thread を使用したソースを -pthread オプションを付けずにビルドすると、ビルドエラーにならずに実行時エラーになる仕組みが気になったので調べてみました。 パスやら何やらは x86-64 版の Gentoo Linux のものです。他ディストリビューションでは微妙に異なるかもしれません。 -pthread オプション g++ や clang++ で C++11 以降に実装された std::thread を使おうとすると、オプション -pthread が必要です。これを忘れると、スレッドを実行しようとした時点で例外が発生してしまいます。 #include <iostream> #include <thread> void func() { std::cout << "Hello!" << std::endl; } int main() { std::thread(func

    -pthread を忘れると std::thread で例外が発生する仕組み - Qiita
  • OpenMPの基本的な使い方 - Qiita

    サーバサイドの大規模計算・組み込み系・ゲームプログラミングなどの分野ではしばしば高速化を求められることがある。 その中でも、スレッド並列に関する高速化はマルチコア化の波で近年特に求められている。 この記事ではスレッド並列にOpenMPを利用した高速化手法についての基的な部分を紹介していく。 *言葉の解釈によっては適切でない部分や、OpenMPの正しい使い方から外れた部分があるかもしれません。 *2017.02.16 記事の一部に書き途中・適切ではない記載があったので更新しました。 スレッド並列化とは? スレッド並列化とは、近年のPCによく使われているマルチコアのCPU上で行われる並列化のことである。CPUによっても変わるが、主流のIntel社製Core iシリーズのCPUなどでは1コアで2スレッドまでのスレッドを持つことができる。 例に、2016年の新モデルMacBookProの13イン

    OpenMPの基本的な使い方 - Qiita
  • Glibc malloc internal

    glibc mallocの解説 Video: https://youtu.be/0-vWT-t0UHgRead less

    Glibc malloc internal
  • とろたまヘッドライン

    「ワッチョイ」とは 強制コテハンのスレッド で名前の後ろに追加される 妙なニックネーム の一つです。それ以外にも様々な文字列が追加されます。それぞれに(1)~(5)まで番号を振りましたので説明します。 (1) 「ワッチョイ」とは使用しているインターネット回線で決められる 妙なニックネーム の一つです。 他にも「スプー」「ササクッテロ」「アウアウ」「オッペケ」「ガラプー」などがあります。 ちなみに「ワッチョイ」は固定回線からの書き込みです。 「スプー」はドコモのスマホ回線からの書き込みです。「スプッ」「スプッッ」などIPアドレスによって細分化されています。 「ササクッテロ」は主にソフトバンクのiPhoneホスト名に「panda-world.ne.jp」を含む回線からの書き込みです。こちらも「ササクッテロラ」「ササクッテロリ」などIPアドレスによって細分化されています。 詳しく

    とろたまヘッドライン
    iww
    iww 2016/04/24
    ワッチョイの更新日は木曜
  • POSIX Threads Programming

    Author: Blaise Barney, Lawrence Livermore National Laboratory, UCRL-MI-133316 Table of Contents Abstract Pthreads Overview What is a Thread? What are Pthreads? Why Pthreads? Designing Threaded Programs The Pthreads API Compiling Threaded Programs Thread Management Creating and Terminating Threads Passing Arguments to Threads Joining and Detaching Threads Stack Management Miscellaneous Routines Exe

  • 残当

    【読み方】:ザントウ 「残当」とは「残念だが当然」の略語である。 元ネタは2chにおける以下の書き込み。 首都高4号線外苑出口付近で読売巨人軍の豊田投手(32)が大型トラックに飛び込み即死した。 度重なるリリーフ失敗 苦にして発作的に飛び込んだものと見られる。 巨人原監督の話 「残念だが当然。男らしい最期といえる」 実際には豊田投手は自殺しておらず、かつ原監督のコメントも虚偽であるが「残念だが当然」というフレーズが他の2chユーザーの印象に残り野球系のスレッドで使用される様になった。 そして次第に略して「残当」として使用される様になった。

    残当
  • GCCの組込みアトミック命令の使い方 | Everyday Deadlock

    ちょっと使うことがあったので、備忘録的にGCCの組込みアトミック命令の使い方についてまとめておきます。 前提知識 マルチスレッドプログラムにおいて、共有データを更新する際の定石は spin lock や mutex でデータを保護することです。 これらの道具は多くの場面において十分便利なのですが、例えば共有データが1個の int 変数のみであり、更に高頻度で更新が行われるといった場合にはやや同期のコストが高くついてしまいます。 そのような場合には、アトミック命令を用いることで同期オーバーヘッドを抑えることができます。 アトミック命令とは、複数のスレッドから実行されても、個々の命令が一つ一つ順番に適用されてゆくことが保証されている命令のことです。 (より正確には、個々の命令がとある順番で一つ一つ適用された時と同じ結果を得られることが保証されている命令のことです) 例えば、とある変数 X の値

  • pthread のキャンセル

    ●キャンセルとは pthread には、他のスレッド (あるいは自分自身でもよい --- 普通は pthread_exit しますが) の実行を終了するための手段としてキャンセルが用意されています。 キャンセルは pthread_cancel() 関数を呼び出すことによって 要求することができます。 この関数を呼び出すと、引数で指定されたスレッドに対してキャンセルを要求します。 pthread_cancel() 関数自体は次のようなシンプルな関数なので、 取り消したいスレッドの ID さえ分かれば苦もなく呼び出せます。 int pthread_cancel(pthread_t thread); なお、pthread_cancel() 関数は、対象スレッドに対してキャンセルの要求を出すと、 そのスレッドが終了したかどうかとは無関係に、すぐに戻ってきます。 もし、そのスレッドが確実に終了するま

  • シグナルハンドラからのforkするのは安全か? (2) シングルスレッドの場合 - サンプルコード - memologue

    シングルスレッドのコードでシグナルハンドラ中でforkし、子プロセスが非同期シグナルセーフな関数を呼んでデッドロックする実例です。 非同期シグナルセーフな関数として a() を用意しました。この関数は入り口でmutexをロック、中で10秒寝て、mutexをアンロックして戻ります。 #include <sys/types.h> #include <time.h> #include <unistd.h> #include <signal.h> #include <pthread.h> #include <stdio.h> void a(void) { static pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; const struct timespec t = {10, 0}; printf("enter a(), pid = %d\n", ge

    シグナルハンドラからのforkするのは安全か? (2) シングルスレッドの場合 - サンプルコード - memologue
  • 1