Arquivo da Categoria: Threads

O funcionamento do método wait()

voltar     No código abaixo, duas threads irão executar o código da class MyObject. No método ‘run’ pedimos para que se caso o nome da thread em execução seja igual a ‘Thread – 1’ então que seja executado o … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário

Threads disputando o lock de um objeto

A imagem acima ilustra várias threads de execução em um sistema disputando o lock de um objeto instanciado. A thread que primeiramente “lockar” o objeto executará o código dentro do bloco sincronizado sem que as outras threads “a incomode”. “[…]For … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário

“Thread-Safe” Classes

voltar     Este exemplo ilustra que apesar de uma classe ser considerada Thread Safe (classe Thing abaixo), o seu uso pode acarretar em um comportamento não esperado (não Thread Safe).         import java.util.List; import java.util.ArrayList;   … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário

synchronized(this)

  For synchronized blocks, you have to look at exactly what object has been used for locking. (What’s inside the parentheses after the word synchronized?) Threads that synchronize on the same object will block each other. Threads that synchronize on … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário

Thread: Veja exemplo do maratonista

    public class TestThread2 { public static void main(String[] args){ Runner maratonista1= new Runner(“Pedro”); Thread t1 = new Thread(maratonista1, “Instrutor1”); Thread t2 = new Thread(maratonista1, “Instrutor2”); t1.start(); t2.start(); } }     class Runner implements Runnable { private String … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário

Thread: Veja exemplo de uso: balcão de passagens aéreas

    import java.util.Map; import java.util.HashMap;     public class Balcao implements Runnable{ private Aviao aviao = new Aviao();     public static void main(String[] args){ Balcao b = new Balcao(); Thread t1 = new Thread(b, “Pedro”); Thread t2 = … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário

Método sleep() pertence a currentThread !!!

voltar     No código abaixo, acionamos duas Threads que contarão até 100 e imprimirão o resultado de 10 em 10.     O que ocorre é que na linha destacada, apesar de parecer estarmos colocando a Thread1 para dormir, … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário

Dúvida quanto ao estado das Threads

voltar     Dado o código:     import java.lang.Thread; import java.lang.Runnable;     public class TestThread { public static void main(String[] args) { Thread t = new Thread(new DoIt()); System.out.println(“Acabamos de criar: ” + t.getState()); t.start(); } }   … Continuar a ler

Publicado em Threads | Etiquetas | Publicar um comentário