Ir ao conteúdo
  • Cadastre-se

aknup

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por aknup

  1. Valeu,demorei um pouco pra responder porque não vi as notificações mais mesmo assim ajuda,principalmente a do java que eu tô vendo agora

    4 horas atrás, r_Tray disse:

    @aknup Olá. Agora andei estudando um pouco sobre programação multi threads em C e algo assim o exercício que você quer fazer:

    
    #include <stdio.h>
    #include <pthread.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int vetor[100];
    
    void* parte_um_vetor(void* arg) {
        int i;
        for (i = 0; i < 50; i++) {
            printf("[%s]: vetor[%2d] = %3d\n", (char*) arg, i, vetor[i]);
        }
        pthread_exit(arg);
    }
    
    void* parte_dois_vetor(void* arg) {
        int i;
        for (i = 50; i < 100; i++) {
            printf("[%s]: vetor[%2d] = %3d\n", (char*) arg, i, vetor[i]);
        }
        pthread_exit(arg);
    }
    
    int main() {
    
        pthread_t threads[2];    
        void* thread_resposta;
        int i;
    
        for (i = 0; i < 100; i++) {
            vetor[i] = i; // preenche o vetor de 0 a 99
        }
    
        pthread_create(&threads[0], NULL, parte_um_vetor, (void *)("Thread_1")); // cria a thread 1
    
        printf("Thread 1 iniciada...\n");
    
        pthread_join(threads[0], &thread_resposta); // espera a thread 1 finalizar a sua execução
    
        sleep(3);
    
        printf("Thread 2 iniciada...\n");
    
        pthread_create(&threads[1], NULL, parte_dois_vetor, (void *)("Thread_2")); // cria a thread 2
    
        pthread_join(threads[1], &thread_resposta); // espera a thread 2 finalizar a sua execução
    
        return 0;
    }

    Só que estou só começando a estudar sobre isso em C e, sendo sincero, pareceu menos intuitivo do que em Java e Python rs..

    Obs: Desculpa a demora em responder :)

    Só não sei como roda no Windows(não testei ainda). No Linux é preciso compilar o código dessa forma:

    
    gcc seu_codigo.c -o seu_codigo -lpthread
    // e, para executar
    ./seu_codigo

     

     

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!