Ir ao conteúdo
  • Cadastre-se
mayarandres

Java 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);
        
    }
    
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×