多线程指是如下特定的情况:
1)多个线程来自同一个Runnable实例
2)多个线程使用同样的数据和代码.
实例:
public class RunningObject implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<20;i++){
String name=Thread.currentThread().getName();
System.out.println(name+":"+i);
}
}
}
public class MultiThread {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RunningObject ro=new RunningObject();
Thread t1=new Thread(ro,"1st");
Thread t2=new Thread(ro,"2nd");
t1.start();
t2.start();
}
}
程序中MultiThread.java中创建了两个新的线程t1和t2,他们共享代码:RunningObject.java中的run()方法,同时也共享数据:Runnable类型的对象ro,两个线程在运行过程中分别操纵对象ro调用run()方法。从输出结果看,t1和t2作为独立的顺序控制流,并发地执行。
注意:不同直接调用两个方法。因为如果是两个方法不能并发交替,而是调完一个方法才会执行别一个方法。
-------------------------------------------------------------------------