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 Alisson Hoepers
      Olá pessoal! Para mostrar a lista de um cadastro no meu sistema, eu populo a consulta em um DTO conforme abaixo. Minha pergunta é: Existe uma forma mais simples de popular a consulta na lista do DTO de forma mais simples?
       
      public List<ObjetoDTO> find(Query query) {     @SuppressWarnings("unchecked") List<Object[]> queryResult = query.getResultList(); List<ObjetoDTO> list = new ArrayList<>(); if (queryResult.isEmpty() == false) { for (Object[] item : queryResult) { ObjetoDTO dto = new ObjetoDTO(); dto.setId((Integer) item[0]); dto.setTitulo((String) (item[1])); dto.setDescricao((String) (item[2])); list.add(dto); } } return list; }  
    • By NaPraia
      Beleza pessoal?
       
      seguinte, tenho que desenvolver uma aplicação Java para me comunicar com outro sistema, via Adapter.
      Qual é a melhor forma de fazer isso?
       
      Eu comecei a desenvolver no Eclipse, porém, quando abri o projeto, não coloquei nem com opção de Webservice nem de Maven
       
      E outra dúvida, se instala o Java em servidor? um cara falou isso aqui mas não sei se está zuando.
    • By Luiz Henrique de Sousa
      Estou utilizando rich faces e seu componente JQuery, para realizar formatação de campos decimais, estou utilizando o maskMoney e atribui uma precisão de 3 casas no meu input text, e tenho um campo disabled que é booleano, ele é acionado caso tenha mais coisas associadas a outro item no form abaixo, mesmo sabendo que a função disabled é apenas vísivel ela não faz nada de diferente, quando a minha função disabled é acionada tem como eu tirar as casas decimais dela.
      Fiz dessa forma abaixo:
       
      <f:facet name="header"> <h:outputLabel value="#{messages.conversion}"/> </f:facet> <h:inputText id="fldConversion" value="#{row.vlConversion}" label="#{messages.conversion}" maxLength="25" disabled="#{defaultMBean.canDisabledConversion(row)}"> <a4j:ajax event="change" immediate="true" render="@all, partnerItem, dataModel"/> <f:converter converterId="javax.faces.BigDecimal"/> <f:validateLength maximum="30" /> </h:outputText> <rich:jQuery selector="#fldConversion" query="maskMoney({decimal:''.'',allowNegative:false, showSymbol:false, thousands: '''',precision: 3})"/> E criei esse método para quando estiver desativado o campo:
       
      public BigDecimal canDisableConversionE(TypeDTO row) { BigDecimal r = row.getConversionValue().setScale(0, RoundingMode.HALF_EVEN); System.out.println(r); return r; } public Boolean canDisableConversion(TypeDTO row) { if (row.getId() == 1L && !canDisableConversionE()) { return false; } if (IsWeight(row.getId())) { return true; } return getConfigFacade().canDisableConversionE(row.getConversionValue()); }  
    • By NaPraia
      Olá, estou tentando gerar um arquivo em PDF, mas ele já está dando erro na primeira linha, no comando de import
       
      import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfWriter;     public class Arquivo2704 {                 public static void main (String[] args) {                               Document document = new Document();               try {                     PdfWriter.getInstance(document, new FileOutputStream("C:\\a1.pdf"));                     document.open();                     document.add(new Paragraph("Hello World"));                 }                  catch(DocumentException de) {                     System.err.println(de.getMessage());                 }                  catch(IOException ioe) {                     System.err.println(ioe.getMessage());                 }                  //document.close();    } }
      Alguém pode me ajudar?
      obrigado            
    • By helkton
      oi galera, como criar uma listagem de mesas disponíveis ou produtos cadastrados pra uma lanchonete e restaurante
       
      tipo esta imagem abaixo no caso é de um hotel, mais o esquema seria o mesmo, só mudando o ramo de atividade rsss
       

×

Important Information

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