2014-08-28 14 views
5

Qual è il modello di threading dell'uso della libreria di threading C++ boost?
1:1 (Kernel-level threading)
N:1 (User-level threading)
M:N (Hybrid threading)Qual è il modello della libreria di threading boost

La differenza tra questi modelli (da wiki): http://en.wikipedia.org/wiki/Thread_(computing)#Models

ho controllato il sito spinta e non accennato circa il modello di threading che utilizza.
Credo che sia un 1: 1, perché non fornisce funzione come yield o reschedule, ma non sono sicuro ...

+0

Il threading a livello utente è implementato nella coroutine di boost? potrebbe anche dipendere dalla piattaforma. –

+0

+1. Sembra essere una buona domanda ... ma non sono sicuro di averlo capito, quindi potresti per favore approfondire le differenze tra i modelli menzionati nella tua domanda? Oppure, fornirci un link che li spiega. – Nawaz

+0

@Nawaz http://en.wikipedia.org/wiki/Thread_(computing)#Models – pgplus1628

risposta

1

Si thread nativi, vale a dire, si usa thread della piattaforma, almeno in Linux, Windows e Mac.

Per quanto ne so, la mappatura del thread sarà 1: 1 con un thread del kernel in Windows, Linux e MAC per ogni thread generato.

Non sono sicuro che per altre piattaforme possa essere implementato in altri modi, ma non conosco alcuna implementazione di thread non kernel con l'API boost.thread.

Per i "thread" a livello utente, con il multitasking cooperativo, è possibile utilizzare boost.coroutine. C'è anche la prossima libreria boost.fiber, che è quasi come boost.coroutine, ma aggiunge una API "thread" (che è una fibra nella terminologia della libreria) a livello utente e uno scheduler in fibra a livello utente.

  • È possibile trovare boost.fiber here.
  • È possibile trovare boost.coroutine here.
+1

thx per i collegamenti, un grande aiuto. c'è qualche link o codice che dichiara boost.thread usa i thread della piattaforma? – pgplus1628

+0

Dai un'occhiata alla documentazione su http://www.boost.org/doc/libs/1_56_0/doc/html/thread.html puoi vedere tutte le macro di configurazione lì. –

Problemi correlati