Salut,
Actuellement pour avoir un parallèle for j'ai utilisé la lib TBB d'intel avec un fonctor (je suis sous visual 2010 mais j'ai pas réussi à faire fonctionner la version lambdas méthodes en managé).
ça donne quelquechose comme ça:
et l'appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class computeFonctor() { void operator()( const tbb::blocked_range<U32>& r ) const { (...) } computeFonctor(float a_fParam1, bool a_bParam2): m_fParam1(a_fParam1), m_bParam2(a_bParam2) { } private: float m_fParam1; bool m_bParam2; };
ça fonctionne bien, mais par contre si je veux que l'un des paramètres de mon fonctor soit un pointeur vers un type managé du framework .NET, je ne peux pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 tbb::parallel_for(tbb::blocked_range<U32>(0, 1000), computeFonctor(fParamValue1, bParamValue2,), tbb::auto_partitioner());
J'ai donc songé à faire la même chose en utilisant le System::Threading::Tasks:arrallel::For, mais le problème c'est que je ne trouve pas comment je peux créer une System::Action<Int32>(pMethod) qui prendrait en charge mes deux paramètres comme le fait mon fonctor natif.
quelqu'un peut m'aider ?
Merci.
Partager