Gostaria de saber se eu poderia colocar varias Threads em uma mesma função e como faço isso. E caso não de pra colocar na mesma função eu poderia colocar varias na mesma classe?
Vejo alguns exemplos da internet de apostilas, porem eles sempre separam uma classe para cada Thread.
Bom, ai vai depender do que exatamente vc está falando, mas sim, pode CRIAR várias threads em um MÉTODO:
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread 1");
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread 2");
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread 3");
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread 4");
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread 5");
}
}).start();
}
1 curtida
Rodrigo obrigado pela ajuda. Mas seria em uma outra classe fora da main. E nesse caso eu preciso fazer objeto para a thread certo?. Mas se eu fizer um objeto para uma classe com um método que contem varias threads como o programa vai entender qual thread deve executar?
Simmm, foi só um exemplo, não tem diferença para outros métodos. Lembre que existem N formas de criar threads.
Mas se vc quer criar uma classe que seja uma thread, ou seja, classe que estende Thread, ai sim, uma classe implementa apenas uma thread, mas isso não significa que ela é UMA thread apenas, pq a partir dela vc cria N threads, ela é só um modelo.
Ainda assim tá confuso de entender oq vc quer fazer. Talvez se vc explicar oq vc quer desenvolver fica mais fácil de te ajudar e acredito que se vc buscar ler mais a respeito de multithreading talvez lhe clareie mais as ideias.
1 curtida