Promises fazem parte das novas formas de gerenciar produção e consumo de dados entre threads, basicamente sincronizando a execução de uma thread de geração ou recuperação de dados, com a thread que consome esses mesmos dados.
(mais…)Tags: STL
Objetos Atômicos são objetos que passam por alterações atômicas, ou seja, que não podem ser divididas, tornando-se seguras para acesso por múltiplas threads, sem risco de racing condition, nem de deadlock.
(mais…)Quando falamos de processamento paralelo existe um problema que pode escalar de maneira muito destrutiva, são as racing conditions, ou condições de corrida. São situações em que vários processos ou threads que estão rodando em paralelo competem pelo mesmo recurso, causando problemas e bugs que podem se tornar bem destrutivos.
(mais…)Thread é um assunto importante em qualquer linguagem moderna. Atualmente é muito comum encontrar desktops com múltiplos núcleos, isso sem contar os servidores que há décadas contam com múltiplos processadores. Por conta disso sistemas capazes de tirar proveito dos múltiplos núcleos e/ou processadores são muito relevantes.
(mais…)É normal precisar selecionar o mínimo e o máximo de um conjunto de dados, e a STL conta com funções específicas para determinar mínimos e máximos, alguns referem-se a valores discretos, outros a faixas de valores em containers.
(mais…)As funções de permutações do STL são utilizadas para criar permutações de um conjunto de dados, ou seja exibir, uma a uma, todas as possibilidades de distribuição de dados. Pode ser muito útil em diversa aplicações.
(mais…)A versão C++11 da linguagem C++ incluiu um novo conjunto de classes, funções e tipos para manipulação de tempo. O namespace std::chrono contém algumas ferramentas que trazem para a linguagem C++ o que até então somente estava disponível através do header <time.h> do C.
(mais…)Uma boa funcionalidade adicionada no C++11, a biblioteca std::ratio cria meios para expressar diferentes tipos de relação entre grandezas, facilitando a aritmética básica e a conversão entre elas, além de trazer um conjunto de instâncias padrão para facilitar as conversões mais básicas.
(mais…)Mais um post sobre STL Algorithms, semana passada foram dois posts referentes a assuntos complementares, hoje o post é sobre fazer pesquisa utilizando std::find e std::search.
(mais…)No post anterior falamos sobre std::for_each. Mas percebeu que não dá pra alterar o conteúdo do container dessa forma? A solução é o std::tranform. Vamos começar com um exemplo de como o for_each não funciona. Um programa para incrementar todos os elementos de um std::list:
(mais…)