Estou instalando o mingw-w64 no Windows e há duas opções: threads win32 e threads posix. Eu sei qual é a diferença entre threads do win32 e pthreads, mas não entendo qual é a diferença entre essas duas opções. Duvido que, se eu escolher os threads posix, isso me impedirá de chamar funções WinAPI como CreateThread.
Parece que esta opção especifica qual API de encadeamento será usada por algum programa ou biblioteca, mas por quê? Pelo GCC, libstdc ++ ou por outra coisa?
Eu encontrei o seguinte: Qual é a diferença entre thread_posixs e thread_win32 na porta gcc do windows?
Resumindo, para esta versão do mingw, a versão threads-posix usará a API posix e permitirá o uso de std :: thread, e o threads-win32 usará a API win32 e desabilitará a parte std :: thread do padrão.
Ok, se eu selecionar os threads do win32, o std :: thread ficará indisponível, mas os threads do win32 ainda serão usados. Mas usado por quê?