Để viết một chương trình đa luồng trong Java có 2 cách:
- Kế thừa từ lớp Threads và override phương thức run().
Lưu ý: Phương thức run() trong Threads là phương thức rỗng.
- Implement Runable(), ghi đè phương thức run()
Lưu ý: Muốn chạy được đa luồng, bạn phải gọi phương thức start(), thì phương thức run() cũng tự động được kích hoạt.
Ở đây mình ví dụ một bài đơn giản kế thừa lớp Threads, in ra ý kiến năm nay là năm con gì?
Hàm Main
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
new Cat().start();
new Rabbit().start();
Cat cat = new Cat();
Rabbit rabbit = new Rabbit();
cat.run();
rabbit.run();
}
}
Lớp Rabbit:
public class Rabbit extends Thread{
private int _n;
Rabbit()
{
_n = 10;
}
Rabbit(int n)
{
_n = n;
}
@Override
public void run()
{
for(int i=0;i<_n;i++)
{
try{
sleep(100);
System.out.println("Ý kiến: Năm nay là năm con Thỏ");
}
catch(Exception e)
{
System.err.println(e.getMessage());
}
}
}
}
Lớp Cat:
public class Cat extends Thread {
private int _n;
public Cat()
{
_n = 10;
}
public Cat(int n)
{
_n = n;
}
@Override
public void run()
{
for(int i=0;i<_n;i++)
try{
sleep(100);
System.out.println("Ý kiến: Năm nay là năm con Mèo");
}
catch(Exception e)
{
System.err.println(e.getMessage());
}
}
}