PTHREAD_SETCONCURRENCY

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

pthread_setconcurrency, pthread_getconcurrency - 並列処理レベルの設定/取得を行う  

書式

#include <pthread.h>

int pthread_setconcurrency(int new_level);
int pthread_getconcurrency(void);

-pthread でコンパイルしてリンクする。
 

説明

pthread_setconcurrency() 関数は、アプリケーションが希望する 並列処理レベル (concurrency level) をスレッド実装に通知する。 希望する並列処理レベルは new_level で指定する。 スレッド実装はこの情報をヒントとしてのみ利用する。 POSIX.1 では、 pthread_setconcurrency() の呼び出した結果、 どのような並列度になるべきかは規定されていない。

new_level に 0 を指定すると、スレッド実装は並列処理レベルを 実装側で適切とみなしたレベルに設定するようになる。

pthread_getconcurrency() は、このプロセスの concurrency level の現在値を返す。  

返り値

成功すると、 pthread_setconcurrency() は 0 を返す。 エラーの場合、 0 以外のエラー番号を返す。

pthread_getconcurrency() は常に成功し、最後の pthread_getconcurrency() の呼び出しで設定された concurrency level を返す。 pthread_getconcurrency() が それまでに一度も呼び出されていない場合は 0 が返る。  

エラー

pthread_setconcurrency() は以下のエラーで失敗する場合がある。
EINVAL
new_level が負である。

POSIX.1 also documents an EAGAIN error ("the value specified by new_level would cause a system resource to be exceeded").  

バージョン

これらの関数は glibc バージョン 2.1 以降で利用できる。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
pthread_setconcurrency(), pthread_getconcurrency() Thread safety MT-Safe
 

準拠

POSIX.1-2001, POSIX.1-2008.  

注意

デフォルトの concurrency level は 0 である。

並列処理レベルが意味を持つのは M:N スレッド実装の場合のみである。 M:N スレッド実装では、ある瞬間において、あるプロセスのユーザーレベルスレッ ドの集合のサブ集合が、そのサブ集合のサイズよりも少ない数のカーネルの スケジューリング実体 (kernel-scheduling entity) に結び付けられる。 並列処理レベルを設定すると、そのアプリケーションの効率的な実行に必要な カーネルのスケジューリング実体の数のヒントを、アプリケーションはシステ ムに伝えることができる。

LinuxThreads と NPTL のどちらも 1:1 スレッド実装であり、 並列処理レベルを設定しても何の意味もない。 言い換えると、 Linux では、これらの関数は、 他のシステムとの互換性のためだけに存在し、 プログラムの実行には何の影響も与えないということである。  

関連項目

pthread_attr_setscope(3), pthreads(7)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

level   並列   レベル   setconcurrency   getconcurrency   実装   スレッド   pthread   concurrency   アプリケーション   集合   希望   ヒント   成功   意味   カーネル   スケジューリング   実体   kernel   コンパイル   通知   規定   番号   最後   一度

Linux マニュアル 一覧

関連するコマンド・関数

pthread_getconcurrency.3   ioprio_get.2   ioprio_set.2   pthread_kill_other_threads_np.3   iopl.2   pthread_self.3
 

Index

名前
書式
説明
返り値
エラー
バージョン
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:35 GMT, October 11, 2026