Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Mas será que existem tarefas que realmente requerem o agrupamento de fios? Não apenas - criar um fio, esquecê-lo e esperar que se esgote, mas exatamente uma piscina, como Williams o descreve? Parece ser um exemplo de caixa eletrônico, se não estou enganado - que tarefa poderia justificar um judô tão milagroso? Ainda não consigo pensar em tal tarefa. E por que você não olha realmente para o ThreadPool onde tudo já está feito, há documentação e exemplos.
Para ser honesto, até agora eu não vi muito sentido entrestd::async e thread pool, exceto questd::async cria e elimina automaticamente um thread para a tarefa em questão.
E para utilizar o pooling de fios, é necessário saber antecipadamente o número de fios utilizados no programa, e definir este número para o pool explicitamente.
Acontece que o agrupamento de fios é estático em termos de número de fios, embora isso possa não ser o caso, não posso afirmar.
Mas no livro de Williams, ele diz que o agrupamento de fios é recomendado quando há muitas tarefas a serem executadas em std::thread.
E talvez isto não se aplique àstd::async, eu ainda não entendi completamente o significado.
E a assincronia é muito requisitada em soluções de rede e estratégias de múltiplos símbolos, e para cálculos carregados também é útil.
Mas tendostd::async e std::promessa no padrão, eu acho que não há necessidade de criar um pool de fios.
Há também uma pergunta sobre a criação de um projeto para dll.
Como se livrar das funções não utilizadas, que são automaticamente puxadas para a dependência dll pelos compiladores?
Já tentei ambientes de desenvolvimento diferentes, e cada um deles puxa sua própria função não utilizada.
MSVS_2017 até mesmo puxa suas próprias dependências de tempo de execução, das quais eu acho que não posso me livrar.
Portanto, eu tentei diferentes IDEs, mas elas também puxam funções não utilizadas.
Como se livrar deles?
Para ser honesto, não tenho capturado muito sentido entrestd::async e thread pooling, exceto que std::async cria e apaga automaticamente um fio para a tarefa em questão.
E para utilizar o pooling de fios, é necessário saber antecipadamente o número de fios utilizados no programa, e definir este número para o pool explicitamente.
Acontece que o agrupamento de fios é estático em termos de número de fios, embora isso possa não ser o caso, não posso afirmar.
Mas, no livro de Williams, ele diz que o agrupamento de fios é recomendado quando há muitas tarefas a serem executadas em std::thread.
E talvez isto não se aplique àstd::async, eu ainda não entendi completamente o significado.
E a assincronia é muito requisitada em soluções de rede e estratégias de múltiplos símbolos, e para cálculos carregados também é útil.
Mas tendostd::async e std::promessa no padrão, eu acho que não há necessidade de criar um pool de fios.
Assim, o ponto principal da assimetria é usar o pool de fios, livrar-se da criação/eliminação de fios, se assimetria não fizer isso, então é inútil.
Bem, na verdade, eu estava pensando muito mal sobre a assimetria, aparentemente. Um simples teste mostra-o como uma coisa bastante adequada:
Você pode ver que para o segundo lote de trabalhos assimétricos foram utilizados fios previamente criados e não foram criados novos. Então eu não estava exatamente diluindo merecidamente, eu acho.
Há também uma pergunta sobre a criação de um projeto para dll.
Como posso me livrar de funções não utilizadas que são automaticamente puxadas para a dependência dll pelos compiladores?
Para mingw a opção -static deve ajudar com a estática ela deixa de gerar pic
Teste de assimetria mais difícil
Bem, sim, funciona bem. Por que eu pensei tão mal disso? Provavelmente uma implementação torta no alvorecer de c++11 ...
SZY: mas devo notar que a assimetria anormalmente lenta() com lanch::async policy, se você substituir por lanch::deferred (+ esperar pela conclusão do trabalho no final do primeiro ciclo), então este simples teste começa a trabalhar 30 vezes mais rápido!!! Lá se vai a multithreading )). Assim, isso deixa espaço para uma piscina de linha caseira, parece-me que ela pode ser feita muito mais rapidamente do que a normal.
Há também uma pergunta sobre a criação de um projeto para dll.
Como se livrar das funções não utilizadas, que são automaticamente puxadas para a dependência dll pelos compiladores?
Já experimentei diferentes IDEs, e cada uma delas puxa sua própria função não utilizada.
MSVS_2017 até mesmo puxa suas próprias dependências de tempo, das quais eu acho que não posso me livrar.
Teste de assimetria mais difícil
Bem, sim, funciona bem. Por que eu pensei tão mal disso? Provavelmente uma implementação torta no alvorecer de c++11 ...
SZY: mas devo notar que a assimetria anormalmente lenta() com lanch::async policy, se você substituir por lanch::deferred (+ esperar pela conclusão do trabalho no final do primeiro ciclo), então este simples teste começa a trabalhar 30 vezes mais rápido!!! Lá se vai a multithreading )). Assim, isso deixa espaço para uma piscina de linha caseira, parece-me que ela pode ser feita muito mais rapidamente do que a normal.
Eu não li até o final e decidi sugerir que você corresse com a bandeira adiada ))))) Faz sentido, se tal teste funciona mais rápido, geralmente penso que esta forma de utilizá-lo é preferível, por que colocar limites rígidos. Só queria dizer obrigado por sua ligação com Git, assisti com interesse )) Eu gostei que houvesse duas versões - com e sem impulso.
Outra pergunta surgiu sobre a criação do projeto para a dll.
Como posso me livrar das funções não utilizadas, que são automaticamente puxadas para a dependência dll pelos compiladores?
Eu já tentei ambientes de desenvolvimento diferentes, e cada um deles puxa sua própria função não utilizada.
MSVS_2017 até mesmo puxa suas próprias dependências de tempo, das quais eu acho que não posso me livrar.
Portanto, eu tentei diferentes IDEs, mas elas também puxam funções não utilizadas.
Como se livrar deles?
Eu não li até o final e decidi sugerir que você corresse com a bandeira adiada ))))
Por que precisamos de async() com a bandeira diferida? Eu realmente não entendo, você pode explicar?
Por que precisamos de async() com a bandeira diferida? Eu realmente não entendo, você pode explicar?
Na verdade, por que você não lê sobre a bandeira na documentação? Em https://en.cppreference.com . E exemplos com discussão no stackoverflow.com. Normalmente uso estas fontes de informação e aconselho que façam o mesmo.
Por que não ler de fato sobre a bandeira na documentação? Em https://en.cppreference.com . E exemplos com discussão no stackoverflow.com. Normalmente uso estas fontes de informação e aconselho que façam o mesmo.