ホームページ >バックエンド開発 >C++ >C言語において、プロセス内で作成できるスレッドの最大数

C言語において、プロセス内で作成できるスレッドの最大数

王林
王林転載
2023-09-17 21:49:031308ブラウズ

C言語において、プロセス内で作成できるスレッドの最大数

与えられたタスクは、プロセス内で作成できるスレッドの最大数を見つけることです

C.

スレッドは、スケジューラによって独立して管理できる軽量のプロセスです。一つのせいで スレッドはプロセスのコンポーネントであるため、複数のスレッドを関連付けることができます

プロセスと比較して、スレッドは処理が軽いだけでなく、コンテキストを切り替えるのに必要な時間も短くなります。

スレッドはプロセスよりも必要なリソースが少なく、ピアとメモリも共有します。

糸。すべてのユーザーレベルのピアスレッドは、オペレーティングシステムによって単一のタスクとして扱われます。少ない 作成と終了には時間がかかります。

出力はプログラムを実行するたびに常に異なります。

以下のプログラムで使用するメソッドは次のとおりです

  • 関数 void* create(void *) を作成し、デモ用なので空のままにします。

  • main() 関数で 2 つの int 型変数 max = 0 と ret = 0 を初期化します。 最大スレッド数と戻り値を別々に保存します。

  • pthread_t 型の変数 "th" を宣言します。

  • 条件 ret == 0 で while ループを実行し、ret = pthread_create (&th, NULL、作成、NULL);

  • ループ内で最大回数繰り返します。

  • #最大値をループの外で出力します。

    >

#include<pthread.h>
#include<stdio.h>
/*Leave the function empty as it
only demonstrates work of thread*/
void *create ( void *){
}
//main function
int main(){
   int max = 0, ret = 0;
   pthread_t th;
   //Iterate until 0 is returned
   while (ret == 0){
      ret = pthread_create (&th, NULL, create, NULL);
      max++;
   }
   printf(" %d ", max);
}

出力

5741

以上がC言語において、プロセス内で作成できるスレッドの最大数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。