public class Client {
public static void main(String[] args) {
TestConnect tc1 = new TestConnect();
tc1.setIp("111");
Thread t1 = new Thread(tc1);
t1.run();
TestConnect tc2 = new TestConnect();
tc2.setIp("aaa");
Thread t2 = new Thread(tc2);
t2.run();
}
}public class TestConnect implements Runnable{
private String ip;

public void setIp(String inputIp){
this.ip = inputIp;
}
@Override
public void run() {
for(int i=0;i<400;i++){
System.out.println(ip);
}
}}

解决方案 »

  1.   

    每次输出都是先输出完111再输出aaa,不像是正常现象啊,哪里出问题了吗
      

  2.   

    启动线程不是start吗???
      

  3.   

    另外启动线程用start   t1.start 不是run
      

  4.   

    楼主直接调用run方法,这跟直接调用一个函数没什么区别。根本就木有实现多线程,整个程序都是一个线程从头执行到尾。可以用start方法启动来实现多线程。
      

  5.   

    启动线程是调用 start 方法,不是 run
      

  6.   

    启动线程是调用 start 方法,不是 run
      

  7.   

    原因楼上已经解答了,关于start与run的区别,请走传送门:
    http://bbs.csdn.net/topics/392135849