Programação Paralela em Arquiteturas Multi-Core/Programação em OpenMP: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Tawhaki (discussão | contribs)
Tawhaki (discussão | contribs)
Linha 258:
 
Esse exemplo mostra o funcionamento da construção "omp for", que divide as iterações de um dado loop "for" entre as threads, bem como a especificação de escopo para variáveis.
 
==== Exemplo 3: Execução paralela ====
O exemplo abaixo mostra duas threads executando ao mesmo tempo, realizando cada uma seu trabalho.
 
<pre>
void do_two_things()
{
#pragma omp sections nowait
{
#pragma omp section
{
printf("Hi, I'm thread %d, I'm doing something.\n", omp_get_thread_num());
while(not_done_yet("me"))
{
do_something();
}
}
#pragma omp section
{
printf("Hi, I'm thread %d, I'm doing some other thing.\n", omp_get_thread_num());
while(not_done_yet("myself"))
{
do_some_other_thing();
}
}
}
}
</pre>
 
=== Vantagens e desvantagens ===