Coder Social home page Coder Social logo

multithread_counter's Introduction

Contando números primos usando multithread

Esta tarefa consiste em receber um texto na entrada e contar quantos números primos existem nessa entrada. Porém, trata-se de um exercício de programação, e não somente de uma solução com algoritmo.

O objetivo desta tarefa é fazer o sistema operar como multi-thread, usando a instrução pthread_create().

As soluções deverão ser estruturadas de forma que:

  1. cada número deve ser analisado (quanto a ser primo ou não) por uma thread independente.
  2. As threads deverão (ao menos potencialmente) poder executar em paralelo.
  3. O programa deverá assumir um número máximo de threads paralelas igual a 4.
  4. Todas as threads devem encerrar antes do fim do programa principal

AVISO: os números serão inteiros, sem sinal, entre 0 e 2^(64)-1

Soluções que não contemplem esses três requisitos não serão aceitas. Eles serão verificados manualmente, caso a caso.

Exemplos

Entrada Saida
0\n 0\n
1\n 0\n
2 1\n 1\n (operando em duas threads)
2 1 0\n 1\n (operando em três threads)
`3 5 2 7 9 1 0\n 4\n (operando em quatro threads)

Instruções adicionais

  1. Vá diretamente ao conjunto de testes para verificar como tratar casos limítrofes ou mal-definidos.
  2. Lembre-se de seguir as instruções de submissão.
  3. Se desejar, proponha novos casos de teste.

multithread_counter's People

Contributors

tiagoft avatar augustofg avatar steckhelena avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.