fork(1) download
  1. #include <pthread.h>
  2. #include <stdio.h>
  3.  
  4. void *operacao(const char *nome_thread) {
  5. int a, b;
  6. printf("A thread %s pede que você digite o primeiro número: ", nome_thread);
  7. scanf("%d", &a);
  8. printf("A thread %s pede que você digite o segundo número: ", nome_thread);
  9. scanf("%d", &b);
  10. printf("A soma é %d.", a + b);
  11. pthread_exit(NULL);
  12. return NULL; // Nunca é executado.
  13. }
  14.  
  15. int main() {
  16. pthread_t thread;
  17. printf("Criando uma nova thread\n");
  18. int flag = pthread_create(&thread, NULL, operacao, "auxiliar");
  19. if (flag != 0) {
  20. printf("Erro na criação de uma nova thread\n");
  21. return 1;
  22. }
  23. operacao("principal");
  24. return 0;
  25. }
Success #stdin #stdout 0s 4516KB
stdin
5
6
7
8
stdout
Criando uma nova thread
A thread principal pede que você digite o primeiro número: A thread principal pede que você digite o segundo número: A soma é 11.A thread auxiliar pede que você digite o primeiro número: A thread auxiliar pede que você digite o segundo número: A soma é 15.