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

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

王林
王林ke hadapan
2023-09-17 21:49:031240semak imbas

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);
}

Output

5741

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam