Programinha com threads

Bom dia,

Preciso de um programinha basico com threads.
Alguem poderia me ajudar, ficarei imensamente grata.
Lost

[quote=Lost]Bom dia,

Preciso de um programinha basico com threads.
Alguem poderia me ajudar, ficarei imensamente grata.
Lost[/quote]

Tem muita gente aqui que pode te ajudar … mas para isso todos precisam conhecer o seu problema …

“o que ta pegando ?”

Procure pelo problema de produtores e consumidores, é um caso clássico e tem bastante código por aí.

Não sei programar, mas preciso de um programa com threads que execute funções simples. Não tenho a minima ideia por onde começar.
Estou desesperada, pois tenho que entregar um trabalho na facu.

obrigada

Uma aula de threads então:

Para rodar uma thread, primeiro faça uma classe que tenha o conteúdo que a thread vai rodar. Essas classes implementam a interface Runnnable. Implementando Runnable, elas devem ter um método public void run() dentro delas que vai rodar o código.

Na classe abaixo, o Produtor recebe uma cesta vazia, e uma quantidade de itens a produzir. Ao ser chamada, o produtor vai colocar itens dentro da cesta uma X quantidade de vezes, e dormir por 1 segundo após cada inserção. Depois de colocado tudo, ele termina o processamento.

package threads;

import java.util.Collection;

public class Produtor implements Runnable
{
   private Collection cesta;
   private int qtde;

   public Produtor(Collection cesta, int qtde)
   {
      this.cesta = cesta;
      this.qtde = qtde;
   }

   public void run()
   {
      for (int i = 0; i < qtde; i++)
      {
         cesta.add(i);

         try
         {
            Thread.sleep(1000);
         }
         catch (InterruptedException ex)
         {
         }
      }
   }
}

Depois temos a classe que vai rodar a thread. Esta classe cria a cesta vazia e decide uma quantidade. Depois de instanciar uma thread com o Produtor acima, passando os itens que ele precisa por parâmetro para seu construtor, iniciamos a thread como o método start (não é run).

Depois de iniciado, a cada 1,5 segundos ele imprime o conteúdo da cesta.

[code]package threads;

import java.util.Vector;

public class RodaThreads
{
public static void main(String[] args)
{
Vector cesta = new Vector();
int qtde = 10;

   Thread t = new Thread(new Produtor(cesta, qtde));
   t.start();

   for (int i = 0; i < qtde; i++)
   {
      System.out.println(cesta);

      try
      {
        Thread.sleep(1500);
      }
      catch (InterruptedException ex)
      {
      }
   }
}

}
[/code]

O problema do produtor e consumidor começa com isto, e adiciona um consumidor que vai ficar tirando produtos da cesta ao mesmo tempo que o produtor coloca mais. A resolução desse problema é não deixar o consumidor ficar com fome(starvation) por causa de falta de produtos na cesta, nem deixar o produtor produzir demais, e desperdiçar a produção quando a cesta tiver cheia. Adicionamos mais produtores ou mais consumidores conforme a necessidade.

Cara super obrigada, valeu pela ajuda e pela ideia do programa.

Abraços