Salut à tous,
Je démarre plusieurs threads via des QueueUserWorkItem.
Dans chaque thread,
je souhaite compiler une assembly via system.codedom.compiler. Le résul tat
obtenu (quand il y a résultat) n'est pas associé au bon thread.
Comment
faire pour que le thread attende la compilation de l'assembly et l'éx écution
de la méthode et surtout pour qu'un autre thread n'y accède pas ? J'ai
essayer via un monitor mais ça ne fonctionne pas. Quelqu'un à une id ée ?
Salut à tous,
Je démarre plusieurs threads via des QueueUserWorkItem.
Dans chaque thread,
je souhaite compiler une assembly via system.codedom.compiler. Le résul tat
obtenu (quand il y a résultat) n'est pas associé au bon thread.
Comment
faire pour que le thread attende la compilation de l'assembly et l'éx écution
de la méthode et surtout pour qu'un autre thread n'y accède pas ? J'ai
essayer via un monitor mais ça ne fonctionne pas. Quelqu'un à une id ée ?
Salut à tous,
Je démarre plusieurs threads via des QueueUserWorkItem.
Dans chaque thread,
je souhaite compiler une assembly via system.codedom.compiler. Le résul tat
obtenu (quand il y a résultat) n'est pas associé au bon thread.
Comment
faire pour que le thread attende la compilation de l'assembly et l'éx écution
de la méthode et surtout pour qu'un autre thread n'y accède pas ? J'ai
essayer via un monitor mais ça ne fonctionne pas. Quelqu'un à une id ée ?
Do While Users.Count > 0
Result = Users.Dequeue
Interlocked.Increment(Count)
Loop
Do While Users.Count > 0
Result = Users.Dequeue
Interlocked.Increment(Count)
Loop
Do While Users.Count > 0
Result = Users.Dequeue
Interlocked.Increment(Count)
Loop
Merci Arnaud,
Pas grave pour la syntaxe :)
Tu peux m'expliquer pourquoi l'idée de collections "Sychronized" est
foireuse ?
Do While Users.Count > 0
Result = Users.Dequeue
Interlocked.Increment(Count)
Bon sinon pour le code ça fonctionne toujours pas. InvokeMember,
c'est pas une méthode asynchrone ça ?
Merci Arnaud,
Pas grave pour la syntaxe :)
Tu peux m'expliquer pourquoi l'idée de collections "Sychronized" est
foireuse ?
Do While Users.Count > 0
Result = Users.Dequeue
Interlocked.Increment(Count)
Bon sinon pour le code ça fonctionne toujours pas. InvokeMember,
c'est pas une méthode asynchrone ça ?
Merci Arnaud,
Pas grave pour la syntaxe :)
Tu peux m'expliquer pourquoi l'idée de collections "Sychronized" est
foireuse ?
Do While Users.Count > 0
Result = Users.Dequeue
Interlocked.Increment(Count)
Bon sinon pour le code ça fonctionne toujours pas. InvokeMember,
c'est pas une méthode asynchrone ça ?