Ir ao conteúdo
  • Cadastre-se

Threads - linux para windows 3


Misael Lisboa da

Posts recomendados

:wacko:

Boa noite,

preciso urgentemente de ajuda!!

Tenho 3 exercicios de threds... em c++, so que rodam apenas em linux.

Preciso mudar para que funcionem no windows... mas não sei como faço.

Segue outro deles:

3 - Para o mesmo exercício anterior (2), o que deveria ser feito para que a thread mais fosse encerrada e as threds "filhas" permanecessem em execução? Como se denomina essa situação indesejada?

Código:

#define _GNU_SOURCE // necessário porque getline() é extensão GNU

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <sys/wait.h>

#include <sys/types.h>

void *thread1() {

sleep(5);

int i=0;

printf("[%d] sou a thread 1 \n", getpid());

FILE *f= fopen("ARQ1.txt", "r");

size_t len= 100; // valor arbitrário

char *linha= malloc(len);

if (!f)

{

perror("ARQ2.txt");

exit(1);

}

while (getline(&linha, &len, f) > 0)

{

printf("%s", linha);

}

if (linha)

free(linha);

fclose(f);

return 0;

}

void *thread2(){

sleep(5);

int i=0;

printf("[%d] sou a thread 2 \n", getpid());

FILE *f= fopen("ARQ2.txt", "r");

size_t len= 100; // valor arbitrário

char *linha= malloc(len);

if (!f)

{

perror("ARQ2.txt");

exit(1);

}

while (getline(&linha, &len, f) > 0)

{

printf("%s", linha);

}

if (linha)

free(linha);

fclose(f);

return 0;

}

main(){

//pthread_t tid[2];

//pthread_create(&tid[0],NULL,thread1,NULL);

//pthread_create(&tid[1],NULL,thread2,NULL);

int i;

for (i=0; i<20; i++) {

if (fork() == 0) {

thread1();

thread2();

exit(0);

}

}

printf("[%d] Pai deixando filhos órfãos!\n", getpid());

return 0;

//

//

// pthread_join(tid[0], NULL);

// pthread_create(&tid[1],NULL,thread2,NULL);

//pthread_join(tid[1], NULL);

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!