Ho avuto un po 'di problemi con il nuovo runtime di Concurrency nativo di Visual Studio (ConcRT). È solo una svista, o c'è una ragione valida per cui nessun movimento incrociato di dati ha semantica del movimento? Sono tutti copia semantica. Non è possibile spostarsi in una coda concorrente, non è possibile spostarsi con asend, ecc. Non è possibile nemmeno spostare le code concomitanti di costruzione.Rif. Di riferimento in concorrenza
risposta
Non conosco questo framework specifico, ma in genere per le code inter thread è necessario disporre di semantica della copia.
Immagina di creare un oggetto, di prendere un riferimento/puntatore e poi spostarlo in coda. Quindi l'altro thread lo sposta fuori dalla coda. Quindi entrambi i thread possono accedervi contemporaneamente.
Penso che nel caso generale sia solo necessario avere una copia di sempre di add o remove, non di entrambi (vale a dire solo una copia necessaria). per esempio. copy-in move-out, ma questo sarebbe semanticamente lo stesso di copy-in copy-out.
Esistono numerose aree in cui il supporto del valore nominale potrebbe migliorare ConcRT, agenti e PPL. Come ogni grande progetto software, quando si creano funzionalità che si basano su altre nuove funzionalità, c'è sempre il rischio di poter consegnare tutto in una volta.
PPL è stato un importante passo avanti ma non abbiamo mai detto che fosse "fatto". :-)
Se si dispone di suggerimenti particolari in cui ConcRT, PPL o la libreria Agenti devono supportare semantica di spostamento, aprire un suggerimento in connect.microsoft.com.
- 1. git fetch ramo remoto e rif rif.
- 2. Classe di servizio Grails rif.
- 3. Ruggine con l'esempio: il modello di rif.
- 4. Rif e out di C# in Java
- 5. Concorrenza in Lucene.NET.
- 6. concorrenza in PHP
- 7. migrazione da Java concorrenza a Scala concorrenza
- 8. Passando elementi di un array di rif
- 9. Rif attributo o attributo Type in XSD
- 10. Rif. Codice/riscrittura o continua?
- 11. implementare il metodo di qualificazione rif
- 12. Func delegate con variabile di rif.
- 13. Concorrenza multi-nodo in Java
- 14. Strategia di integrazione continua - Rif. Progetto contro ramificazione/unione
- 15. Rif. C#: come ottenere valori e lunghezza di un array?
- 16. Informazioni sull'esempio di concorrenza Clojure
- 17. Scala - futures e concorrenza
- 18. Forcella multipla() Concorrenza
- 19. Git: imposta la diramazione all'attuale rif
- 20. mangusta popolare campo senza opzione rif
- 21. Mongoose - Recupero oggetto dalla domanda rif
- 22. Rif confini mostrati con git log --decorate
- 23. Concorrenza con sicurezza del database in ROR
- 24. concorrenza ottimistica in ADO.NET Entity Framework
- 25. Rif. C# - Campi statici della classe base in Tipo derivato
- 26. concorrenza in Play 2.1 o superiore
- 27. Come funziona la concorrenza in WCF?
- 28. Concorrenza di @ApplicationScoped Fagioli gestiti JSF
- 29. Problema di concorrenza Python-C api
- 30. GCD e callbacks - problema di concorrenza
Hehe, è * esplicitamente * elencato in questa pagina introduttiva sul CCR: http://msdn.microsoft.com/en-us/library/dd504870.aspx Probabilmente è troppo vecchio per aver raccolto il C + + 0x miglioramenti. Codice come questo stufato per un po '. –
@Hans: si tratta di riferimenti rvalue come generici "supportiamo questo in MSVC10", non c'è niente in proposito nel CCR in particolare. – Puppy
Ho solo pensato che fosse divertente che fosse elencato nella pagina iniziale di CCR. –