创建新执行线程有两种方式
1、继承Thread类,重写run方法,创建对象,启动线程。
2、实现runnable接口; 多线程时一般采用此方式,避免单继承的局限性;将线程与程序和数据分离,降低耦合性。
public class dog extends Thread{
int count;
@Override
public synchronized void run() {
// TODO Auto-generated method stub
while(true){
try {
Thread.sleep(100);
count++;
System.out.println("hello world!"+count);
if(count>=10){
break;
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
public class cat implements Runnable{
int count;
@Override
public synchronized void run() {
// TODO Auto-generated method stub
while(true){
try {
Thread.sleep(100);
count++;
System.out.println("吃饭"+count+"碗");
if(count==10){
break;
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
public class test01 {
public static void main(String[] args) {
dog d=new dog();
d.start();
cat c=new cat();
Thread th=new Thread(c);
th.start();
}
}