Ir ao conteúdo
  • Cadastre-se

ajuda threds em c++


Posts recomendados

Tentei fazer um exemplo bem simples e intuitivo . . . Rode o código e veja como funciona . . .

#include <string>#include <iostream>#include <thread>#include <windows.h>using namespace std;typedef struct tipolol{    int x;}tipolol;void task1(){   // cout << "Recebi: " << msg;    cout << "\nTHREAD 1 \n" ;    for(int i = 0; i < 10000; i++){        cout << "T1: " << i*2 << "\n";        Sleep(1000);    }    cout << "\n";}void task2(){    // cout << "Recebi: " << msg;    cout << "\nTHREAD 2 \n";    for(int i = 0; i < 10000; i++){        cout << "T2: " << i*3 << "\n";        Sleep(1000);    }}int main(){    char *msn1 = "THREAD 1";    char *msn2 = "THREAD 2";    thread t1(task1);    thread t2(task2);            t1.join();    t2.join();        printf("\n");    system("PAUSE");}
Link para o comentário
Compartilhar em outros sites

voce usa _beginthreadex,pra poder usar funções de forma thread-safe do C,mas programação multithread é bem diferente de um programa com uma unica thread..sincronização e invalidação de cache do processador(se tiver mais de uma CPU) são compreendimentos fundamentais que voce tem que saber pra poder tirar proveito de programação multithread

Link para o comentário
Compartilhar em outros sites

Cara, da uma sacada na documentação da biblioteca OpenMP. Super fácil de usar threads (basta adicionar #include <omp.h>); portável (ou seja, vale pra Windows, Linux, Mac); e o melhor mesmo: totalmente baseado em macros e pragmas. Dai se você decidir que quer o programa sem paralelização, remove uma opção na hora de compilar e pronto, tudo serial novamente.

 

Ela já é padrão de quase todos os compiladores modernos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...