Rumah > pembangunan bahagian belakang > C++ > Dalam bahasa C, bilangan maksimum utas yang boleh dibuat dalam proses

Dalam bahasa C, bilangan maksimum utas yang boleh dibuat dalam proses

王林
Lepaskan: 2023-09-17 21:49:03
ke hadapan
1324 orang telah melayarinya

Dalam bahasa C, bilangan maksimum utas yang boleh dibuat dalam proses

Tugas yang diberikan adalah untuk mencari bilangan maksimum benang yang boleh dibuat dalam proses

C.

Benang ialah proses ringan dan boleh diuruskan secara bebas oleh penjadual. kerana satu Benang ialah komponen proses, jadi berbilang benang boleh dikaitkan dengannya

Berbanding dengan proses, benang bukan sahaja lebih ringan untuk dikendalikan, tetapi juga memerlukan lebih sedikit masa untuk menukar konteks.

Benang memerlukan sumber yang lebih sedikit daripada proses, dan ia juga berkongsi ingatan dengan rakan sebayanya.

benang. Semua rangkaian rakan sebaya peringkat pengguna dianggap sebagai satu tugas oleh sistem pengendalian. kurang Penciptaan dan penamatan mereka mengambil masa.

Setiap kali anda melaksanakan program, output sentiasa berbeza.

Kaedah yang digunakan dalam program di bawah adalah seperti berikut

  • Buat fungsi void* create(void *) dan biarkan ia kosong kerana ia hanya untuk demonstrasi

  • Mulakan dua pembolehubah jenis int maks = 0 dan ret = 0 dalam fungsi utama() Simpan bilangan maksimum benang dan nilai pulangan secara berasingan.

  • Isytiharkan pembolehubah "th" jenis pthread_t.

  • Jalankan gelung while dengan syarat ret == 0 dan letak ret = pthread_create (&th, NULL, buat, NULL);

  • Lelaran maks++ di dalam gelung.

  • Cetak maks di luar gelung.

    >

Contoh

#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);
}
Salin selepas log masuk

Output

5741
Salin selepas log masuk

Atas ialah kandungan terperinci Dalam bahasa C, bilangan maksimum utas yang boleh dibuat dalam proses. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan