Modello di filettatura di Windows CE 6.0 per BeginRead / EndRead?
-
14-12-2019 - |
Domanda
Alla ricerca di conferma o documentazione per quanto riguarda il modo in cui i thread vengono utilizzati per i motivi ASYNC sulle prese con Windows CE, specificamente per un prelievo di un prelievo.Ho guardato la documentazione di MSDN, ma posso solo trovare riferimenti vaghi.Ho cercato qui per questo e ho trovato risposte al modello di threading desktop.Come nota laterale, il programma è implementato in quadro compatto.
La mia comprensione è quindi: Sulla chiamata del desktop Beginxxxx, il callback può o non può essere invocato da un filo diverso rispetto alla chiamante Thread BeginXXX.(Preso dal threadpool da quello che ho letto e sperimentato)
Su Windows CE, quando si chiama BeginXXX, la callback viene gestita dal thread che ha effettuato la chiamata a BeginXXX.
è questo accurato?Se è così, dove posso trovare la documentazione su di esso?STW non ha aiutato, e nemmeno RTM.
Soluzione
Ho dovuto fare il threading manualmente.Il modello di filettatura è leggermente diverso su Windows CE 6 rispetto a quelli su piattaforme desktop.Il codice asincrono ha funzionato bene quando lo ha sviluppato sul desktop ma non funzionerebbe affatto su CE.Ho finito per scoprire inviare e ricevere fili che si sono seduti sopra le prese.Non sono ancora sicuro della ragione, ho intenzione di indovinare che i fornitori che hanno scritto il codice della piattaforma per i conducenti hardware fecero alcune decisioni che non erano abbastanza pari con ciò che il framework compatto si aspetta.Ad ogni modo, funziona ora e le discussioni che stanno bloccando sono le mie e possono bloccare senza fermare il filo principale.