Usando Vetor e Pthreads

4 respostas
B
Salve turma forte, eu tava querendo fazer um programa usando vetor, onde voce inseria inteiros em um vetor de tamanho 10, e usar threads para varrer esse vetor, afim de encontrar os dados inseridos e imprimi-los...
import java.util.Vector;

import javax.swing.JOptionPane;


public class vetor extends Thread {

	public vetor(int[] a, int p) {
		super();
		this.a = a;
		this.p = p;
	}
	/**
	 * @param args
	 */
	private int a[] = new int[10];
	private int p;

	public void procurar(){
		for(int k = 0; k<10; k++){
			a[k] = (int)(Math.random()*100);
			System.out.println(a[k]+" = "+k);
		}
	}
	public void imprimir(){
		for(int k = 0; k<10; k++){
			if(a[k] == p){
				JOptionPane.showMessageDialog(null, "o valor encontrado eh: "+a[k]+" na posicao "+k);
				}	
			}
	}
	public static void main(String[] args)  {
		// TODO Auto-generated method stub
		
		int x = 0, p = 0;
		int[] c = new int [x];
		vetor[] t = new vetor [c.length] ;
		for(int i = 0;i<t.length;i++){
			t[i].procurar();
			t[i].start();
			p = Integer.parseInt(JOptionPane.showInputDialog("Digite o numero que deseja buscar "));
			try {
				t[i].join();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			}
		for(int j = 0;j<t.length;j++){
			t[j].imprimir();
			//t[j].start();
			try {
				t[j].join();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			}
	}
}

Aguardo a ajuda de voces, porq ele esta rodando, mas nao consigo faze-lo imprimir, me ajudem por favor...

Obrigadaoo!!

4 Respostas

ViniGodoy

Toda thread, para rodar, precisa de um método run. Você não tem esse método. Você já leu alguma coisa sobre como usar threads, ou está tentando fazer no feeling?

E para que você acha que serve o método join() ?

B

Rapz…fui no feeling mas hj eu fui atras de respostas do pq num ta aparecendo nada, descobri sobre o tal do run, tentei executar aqui, mas ela continua pulando

segundo eu entendi o join serve para parar a main, afim de q ela rode e esqueça das threads e encerre…ne pra isso nao?

o problema era o seguinte, pesquisa em vetor…

criar um vetor, usando threads, preencher, pesquisar e imprimir os vetores ou um determinado vetor…

ViniGodoy

Então pare e estude sobre threads. Esse é o tipo de assunto de definitivamente não dá para fazer no feeling.

B

Amigao, teria como voce me da uma mao nao, ja li uns materiais aqui sobre threads, eu deveria fazer esse programa na linguagem padrao de pthreads, mas quero tentar em java, na linguagem padrao eu ja sei, ja fiz o programa norml e ele rodou, negocio msmo eh so colocar ele pra ser usado em threads…

daria uma ajuda ai??

Criado 16 de setembro de 2010
Ultima resposta 18 de set. de 2010
Respostas 4
Participantes 2