Ir para conteúdo
Fórum Script Brasil
  • 0

Threads - linux para windows 2


Misael

Pergunta

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:

2 - Criar um aplicação que permita a 2 threads lerem 2 arquivos texto simultameamente e os apresentarem em tela.

Para efetuar esse trabalho considere os seguintes casos de teste:

- caso 1: Thread1 é mais rápida que Thread2

- caso 2: Arquivo lido pela Thread 2 é mais extenso, com ambas as threds tendo as mesmas velocidades de acesso aos seus respectivos recursos.

Código:

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

#include <pthread.h>

#include <stdio.h>

#include <stdlib.h>

void *thread1(){

printf("sou a thread 1 \n");

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

size_t len= 10; // valor arbitrário

char *linha= malloc(len);

if (!f)

{

perror("ARQ1.txt");

exit(1);

}

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

{

printf("%s", linha);

}

if (linha)

free(linha);

fclose(f);

return 0;

}

void *thread2(){

printf("sou a thread 2 \n");

//sleep(2);

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(int argc, char *argv[]){

pthread_t tid[2];

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

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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...