Jump to content
Mayara Andres

utilizando threads em java

Recommended Posts

Olá, preciso implementar um código java usando threads, como o anunciado da atividade pede: 
 

"O trabalho consiste em alterar o código que busca valores dentro de um vetor (disponível no blackboard) de forma a criar N threads de acordo com a vontade do usuário (ler o número de threads que o usuário deseja criar) e buscar um valor no vetor (apenas 1, também inserido pelo usuário) de forma paralela, ou seja, cada thread criada deve procurar por um região diferente do vetor. Ao final da execução mostre qual foi a thread que encontrou o valor."

 

PS: EU SÓ QUERO SABER POR ONDE EU COMEÇO, A LÓGICA EU ENTENDI, SÓ NÃO SEI COMO FAZER. :confused:

classe thread_busca
 

package trabalho_thread;

import java.util.logging.Level;
import java.util.logging.Logger;


class ThreadBusca extends Thread {

    private int vetor[];
    private int numeroProcurar;

    public ThreadBusca(int[] vet, int numeroProcurar) {
        this.vetor = vet;
        this.numeroProcurar = numeroProcurar;
    }

    @Override
    public void run() {
        for (int i = 0; i < vetor.length; i++) {

            if (vetor[i] == numeroProcurar) {
                System.out.println("Indice de "+numeroProcurar+" eh "+i);
                return; 
            }
            
            try {
                Thread.sleep(10);
            } catch (InterruptedException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        System.out.println("Indice de "+numeroProcurar+" eh -1");

    }

}

classe main

package trabalho_thread;

import java.util.Arrays;
import java.util.Random;
import javax.swing.JOptionPane;

public class Main {
    public static void main(String[] args) {
        int vet[] = new int[200];
        Random random = new Random();
        for(int i=0;i<200;i++){
            vet[i] = random.nextInt(4999)+1;
        }
        
        System.out.println(Arrays.toString(vet));
        
        int numero=-1;
        do{
            numero = Integer.parseInt(JOptionPane.showInputDialog("Numero a pesquisar:"));
            new ThreadBusca(vet, numero).start();
            
        }while(numero>0);
        
    }
    
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Mad_Max
      Estou lendo o livro do waldemar neto sobre nodejs, e tem uma parte que não consigo sair, fiz uma configuração para rodar um teste  na minha aplicação, baixei os modules que o livro pediu: mocha, chai e p supertest e no meu package.json coloquei o seguinte script: 
       
      "test:integration": "NODE_ENV=test mocha --opts test/integration/mocha.opts test/integration/**/*_spec.js"  
      so que quando eu rodo com o npm run dev tes:integration como o livro mandou me aparece esse erro:
       
      > api-loja-virtual@1.0.0 test:integration /home/ed/projeto/api-loja-virtual
      > NODE_ENV=test mocha --opts test/integration/mocha.opts test/integration/**/*_spec.js
      /home/ed/projeto/api-loja-virtual/node_modules/mocha/lib/cli/options.js:209
            throw new Error(`Unable to read ${filepath}: ${err}`);
            ^
      Error: Unable to read test/integration/mocha.opts: Error: ENOENT: no such file or directory, open 'test/integration/mocha.opts'
          at loadMochaOpts (/home/ed/projeto/api-loja-virtual/node_modules/mocha/lib/cli/options.js:209:13)
          at loadOptions (/home/ed/projeto/api-loja-virtual/node_modules/mocha/lib/cli/options.js:310:22)
          at Object.<anonymous> (/home/ed/projeto/api-loja-virtual/node_modules/mocha/bin/mocha:29:14)
          at Module._compile (internal/modules/cjs/loader.js:776:30)
          at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
          at Module.load (internal/modules/cjs/loader.js:643:32)
          at Function.Module._load (internal/modules/cjs/loader.js:556:12)
          at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
          at internal/main/run_main_module.js:17:11
      npm ERR! code ELIFECYCLE
      npm ERR! errno 1
      npm ERR! api-loja-virtual@1.0.0 test:integration: `NODE_ENV=test mocha --opts test/integration/mocha.opts test/integration/**/*_spec.js`
      npm ERR! Exit status 1
      npm ERR! 
      npm ERR! Failed at the api-loja-virtual@1.0.0 test:integration script.
      npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
      npm ERR! A complete log of this run can be found in:
      npm ERR!     /home/ed/.npm/_logs/2019-07-18T23_16_05_549Z-debug.log
       
      oque pode ser ??
       
      segue o github para baixar o code: https://github.com/MAdMAX-io/API-loja-virtual
    • By TaisStream
      Como configurar essa query com inner join, no arquivo .xml?
      Me ajudem pf eu comecei mas estou perdida,  pesquisei já vi algo de /root... mas minha query esta diferente, nao sei se falta algo
       
       
      QUERY ATUAL:
      set mapreduce.job.queuename=low_relatorios; 
      set mapreduce.job.max.split.locations=100;
      SELECT a.num_msisdn,
             a.max_date
      FROM fact.dw_f_rcrg_gems_rate_subsc t
      INNER JOIN
        (SELECT num_msisdn,
                MAX(dat_operacao) AS max_date
         FROM fact.dw_f_rcrg_gems_rate_subsc
         WHERE (ref_date)>=$startdate
           AND ref_date<=$finaldate
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
      AND a.max_date = t.dat_operacao
      WHERE ref_date>=$startdate
      AND ref_date<=$finaldate;
       
      QUERY CONFIGURANDO NO XML: 
       
          <value><![CDATA[[
      INSERT
              overwrite TABLE fact.dw_f_rcrg_gems_rate_subsc t 
              (
                      a.num_msisdn,
                      a.max_date
              )
      (SELECT
          INNER JOIN
      SELECT      
              MAX(dat_operacao) AS max_date;
      FROM fact.dw_f_rcrg_gems_rate_subsc) a
         WHERE (ref_date)>='$startdate'
           AND ref_date<=$'finaldate'
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
                  AND a.max_date = t.dat_operacao
      WHERE ref_date>='$startdate'
      AND ref_date<=$finaldate;]]>
      </value>
       
       
      Poderiam me ajudar por favor, sou estagiario na area e ainda estou aprendendo.
    • By Lucas Galvanini
      Quais frameworks vocês já utilizaram para desenvolver pra Raspberry pi?
      Algum deles é Java?
       
      Fiquei sabendo recentemente de um framework gratuito pra Raspberry chamado TotalCross (www.totalcross.com)
      Me disseram que é bem fácil de usar e tem um footprint bem otimizado.
    • By michael450
      Senhores, boa tarde.
       
      Estou com um probleminha... rss', preciso fazer a listagem de uma função da biblioteca "SPED-NFe"   na qual consulto quais as NFe que emitiram contra meu CNPJ, porém o ele executa toda a função e depois me trás o resultado, eu gostaria de trazer o resultado instantaneamente, como se fosse uma atualização segundo a segundo.
       
       
      Essas informações não são salvas em DB, é apenas para consulta.
      Se alguém puder ajudar serei muito grato,
       
      Abraço.
       
      Michael Douglas
    • By MateusOFCZ
      Olá, estou desenvolvendo um projeto de registro de clientes em java no netbeans e usando o MySQL Workbench e Xampp, gostaria de saber se é possível fazer com que o programa fique verificando se está conectado com o banco de dados, e caso não esteja ele mostra uma mensagem pedindo para o usuário se conectar em uma rede, caso ele se conecte o programa irá esconder essa mensagem e funcionará normalmente.

      Eu consegui fazer com que ele mostre se está conectado ou não, porém se eu desligar o servidor ele não atualiza mostrando que está offline, ele continua como online...
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.