多线程两种方式对比与区别

  Thread:当你连开多条线程,,run(){};里面的代码会各行其事,比如在

int i = 3;

run(){

  while(true){

  if(i>0)

    i--;  

  system.out.print(i+“,”);

  }

};

  如果开3条线程,这里每条线程会被执行3次,每条线程都会输出3,2,1,也就是 3,2,1,3,2,1,3,2,1,注意是没有顺序的,有可能是,3,3,2,1,3,2,1,2,1,也有可能是其他,因为线程是没有顺序的,看看谁分的时间片在前就是谁先;从上面看就是各行其事。

  Runnable:当你连开多条线程,每条线程会替换着去执行run(){};刚刚和Thread相反;上面的代码,如果开3条线程,这里每条线程说不定会执行几次,3条线程一共输出3,2,1,也就是执行完Run(){}方法里面的条件就结束,注意是没有顺序的,有可能是2,3,1,;

  Runnable的运用:一个售票站,有3个窗口,一共有100张票,如果用Thread的话,那每个窗口就会卖100张就是300张,那明显不合理;所以就要用到runnable。

posted @ 2015-10-28 23:30  杨岳龙  阅读(230)  评论(0编辑  收藏  举报