Aracılığıyla paylaş


a.11 sabit bir iş parçacığı sayısını belirleme

Bazı programlar, bir sabit, tarihleri ayarlamalıdır sayısına doğru çalışmak için iş parçacıkları kullanır.Uygulama tanımlı iş parçacığı sayısını dinamik düzeltilmesi için varsayılan ayar olduğu için bu tür programlar dinamik iş parçacığı özelliği devre dışı bırakmak ve açıkça taşınabilirlik sağlamak için iş parçacığı sayısını ayarlamak seçebilirsiniz.Nasıl kullanarak bunu aşağıdaki örnekte gösterilmektedir omp_set_dynamic (Bölüm 3.1.7 sayfasında 39), ve omp_set_num_threads (Bölüm 3.1.1 sayfasında 36):

omp_set_dynamic(0);
omp_set_num_threads(16);
#pragma omp parallel shared(x, npoints) private(iam, ipoints)
{
    if (omp_get_num_threads() != 16) 
      abort();
    iam = omp_get_thread_num();
    ipoints = npoints/16;
    do_by_16(x, iam, ipoints);
}

Bu örnekte, yalnızca 16 iş parçacıkları tarafından yürütülen, program doğru şekilde yürütür.Uygulama 16 iş parçacığı destekleyerek değilse, uygulama tanımlı bu örnek davranışı.

Paralel bir bölge yürütme iş parçacığı sayısını ayarlama dinamik iş parçacığı sayısı ne olursa olsun, paralel bir bölge sırasında sabit kaldığına dikkat edin.Dinamik iş parçacığı mekanizması paralel bölge başlangıcında kullanılacak iş parçacığı sayısını belirler ve bölge süresince sabit tutar.