Mange moderne prosessorer er multi -core og kan kjøre multi - threaded applikasjoner . En tråd er en enkelt bane i utførelsen. Du kan legge til flere stier utførelse til en C + + program ved å legge tråder , noe som gjør programmet til å fullføre flere oppgaver parallelt. Det er et C + + bibliotek som håndterer tråder, og det kalles POSIX tråder , eller " pthreads . " Opprette et program som genererer en ekstra tråd av utførelse er en god måte å introdusere deg selv til multi -threaded programmering med C + + språk . Du trenger
C + + Integrated Development Environment ( IDE ), for eksempel Eclipse CDT
C + + Compiler , slik GCC
Vis flere Instruksjoner
en
Load den C + + IDE ved å klikke på programmets ikon. Når den åpnes, velger du "Fil /Ny /Project" og velg " C + + Project" for å opprette en ny C + + prosjekt . En tom kildekoden filen vises i teksteditoren delen av IDE
2
Inkluder følgende biblioteker ved å skrive disse fire utsagnene på toppen av kildekoden filen: .
# include # include # include bruker namespace std;
3 Lag en funksjon som vil skrive ut tråden identifikasjonsnummer. Denne tråden gjør ikke mye mer enn fortelle deg at det er levende og kjører. Skriv følgende funksjon signatur for å begynne å skrive funksjon : en
void * printThreadID (void * Diskusjon-ID/Meldings-ID ) { }
4
Place følgende utsagn inne i klammeparentes av " printThreadID " funksjon . Disse uttalelsene hente tråden ID-nummer fra tråden, skrive ut resultatet til output -vinduet , så til slutt avslutte tråden
lang id = ( lang) Diskusjon-ID/Meldings-ID ; printf ( " Tråd ID: % ld \\ n" . ; , id ) ; pthread_exit ( NULL) ;
5
Lag en hovedfunksjon . Hovedfunksjonen er inngangsporten til programmet , og det er der programmet starter utførelsen. Herfra vil du opprette en tråd som kaller funksjonen " printThreadID . " Skriv følgende hovedfunksjon erklæringen.
Int main ( ) { }
6
Plasser følgende kode inne krøllete parentes av den viktigste funksjonen . Disse uttalelsene definere en enkelt tråd , og deretter opprette den og gi den til funksjonen
pthread_t tråden " printThreadID . "; Pthread_create (& tråd, NULL , printThreadID , (void * ) i);
7
Kjør programmet ved å trykke på den grønne " Play "-knappen . Programmet vil skape en enkelt tråd og skrive ut tråden ID for den tråden .