task parallel library
fscarpa58 non è online. Ultima attività: 02/05/2008 21.44.47fscarpa58
Inserito il: 30 aprile 2008 01.31
3 messaggi dal 06 apr 2007 Istalla Microsoft Silverlight!
ciao a tutti,
qualcuno saprebbe tradurmi in vb.net questa implementazione semplificata in c# del parallel.for delle parallel extension al .net?

questo è il riferimento
http://blogs.msdn.com/pfxteam/archive/2008/03/12/8179013.aspx

grazie

static void ParallelFor(int fromInclusive, int toExclusive, Action<int> body)
{
int index = fromInclusive;
Task.Create(delegate
{
int i;
while ((i = Interlocked.Increment(ref index) - 1) < toExclusive)

{
body(i);
}
}, TaskCreationOptions.SelfReplicating).Wait();

}
Microsoft Employee
RE: task parallel library
AlessC-MSFT non è online. Ultima attività: 28/08/2008 17.31.35AlessC-MSFT
Inserito il: 30 aprile 2008 08.51
contributi / Blog / 169 messaggi dal 04 giu 2007 Istalla Microsoft Silverlight!
Eccolo:


Private Shared Sub ParallelFor(ByVal fromInclusive As Integer, ByVal toExclusive As Integer, ByVal body As Action(Of Integer))
    Dim index As Integer = fromInclusive
        
    Task.Create(AddressOf ConvertedAnonymousMethod1, TaskCreationOptions.SelfReplicating).Wait()
    
End Sub

RE: task parallel library
fscarpa58 non è online. Ultima attività: 02/05/2008 21.44.47fscarpa58
Inserito il: 30 aprile 2008 12.54
3 messaggi dal 06 apr 2007 Istalla Microsoft Silverlight!
grazie AlessC-MSFT

ma i traduttori automatici non fanno un gran lavoro in questo caso
ed io non ho le conoscenze sufficienti per completare la traduzione.

cordialmente

Federico
Microsoft Employee
RE: task parallel library
AlessC-MSFT non è online. Ultima attività: 28/08/2008 17.31.35AlessC-MSFT
Inserito il: 30 aprile 2008 17.28
contributi / Blog / 169 messaggi dal 04 giu 2007 Istalla Microsoft Silverlight!
Mai postare dopo l'1:30 AM...

Quello che manca è la traduzione da delegate anonimo a delegate esplicito.

Take 2 (caveat: potrebbe esserci qualche errorino - scritto prima del primo caffé):


Delegate Sub TaskDelegate(ByRef index As Integer, ByVal toExclusive As Integer, ByVal body As Action(Of Integer))

Private Shared Sub ParallelFor(ByVal fromInclusive As Integer, ByVal toExclusive As Integer, ByVal body As Action(Of Integer))
   Dim index As Integer = fromInclusive
   Dim MyDelegate As New TaskDelegate(<thisClassName>.DoWork)

   Task.Create(MyDelegate(index, toExclusive, body),_
               TaskCreationOptions.SelfReplicating).Wait()

End Sub

Private Shared Sub DoWork(ByRef index As Integer, ByVal toExclusive As Integer, ByVal body As Action(Of Integer))
    Dim i As Integer
    While (i = Interlocked.Increment(index) - 1) < toExclusive
        body(i)
    End While
End Sub
RE: task parallel library
fscarpa58 non è online. Ultima attività: 02/05/2008 21.44.47fscarpa58
Inserito il: 02 maggio 2008 21.44
3 messaggi dal 06 apr 2007 Istalla Microsoft Silverlight!
grazie davvero

ci lavoro un po' su e ti faccio sapere

federico

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


maltra - 761 pt
vladimiro - 502 pt
fabrica - 180 pt

Ultimi vincitori: fabrica, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums