与えられたタスクは、プロセス内で作成できるスレッドの最大数を見つけることです
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 サイトの他の関連記事を参照してください。