Aracılığıyla paylaş


parallel_for_each işlevi

parallel_for_eachBelirtilen işlev paralel bir aralıktaki her öğe için geçerlidir.Anlam olarak eşdeğer for_each , işlev std ad alanı dışında bu yineleme öğeleri üzerinden paralel olarak gerçekleştirilir ve yineleme sırası belirtilmemiş.Bağımsız değişken _Func işlev çağrısı işleci formunun desteklemelidir operator()(T) burada parametresi T üzerinden iterated kapsayıcı öğe türü.

template <
   typename _Iterator,
   typename _Function
>
void parallel_for_each(
   _Iterator_First,
   _Iterator_Last,
   const _Function& _Func
);

template <
   typename _Iterator,
   typename _Function,
   typename _Partitioner
>
void parallel_for_each(
   _Iterator_First,
   _Iterator_Last,
   const _Function& _Func,
   _Partitioner&& _Part
);

Parametreler

  • _Iterator
    Kapsayıcı üzerinde yineleme için kullanılan Yineleyici türü.

  • _Function
    Aralıktaki her öğeye uygulanan işlev türü.

  • _Partitioner

  • _First
    Paralel tekrarda dahil edilecek ilk öğenin konumunu adresleme bir yineleyici.

  • _Last
    Paralel tekrarda dahil edilecek konum bir önceki son öğe adresleme bir yineleyici.

  • _Func
    Aralıktaki her öğesine uygulanan kullanıcı tanımlı işlevin nesnesi.

  • _Part
    Partitioner nesnesine bir başvuru.Bağımsız biri olabilir constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& veya affinity_partitioner& , bir affinity_partitioner nesnesi kullanıldığında, algoritma gelecekteki döngüleri yeniden kullanmak için durumu saklayabilmeniz const l-değeri başvuru, başvuru olmalıdır.

Notlar

auto_partitioner açık bir partitioner olmadan aşırı için kullanılır.

Yineleyicilerde desteklemeyen rasgele erişim, yalnızca için auto_partitioner desteklenir.

Daha fazla bilgi için bkz. Paralel algoritmalar.

Gereksinimler

Başlık: ppl.h

Namespace: eşzamanlılık

Ayrıca bkz.

Başvuru

eşzamanlılık ad