多線程 - 練習題(二)

第四章

 

爲何應該避免使用線程組

競態條件使得大多數方法廢棄

 

package thread;

import java.util.Timer;
import java.util.TimerTask;

public class t201909101 {

  static volatile int i = 1;
  public static void main(String[] args) {

    TimerTask task = new TimerTask() {
      @Override
      public void run() {


        while (i<=20){
          int j = 0;
          while (j<i){
            System.out.print("_");
            j++;

          }
          System.out.println("*");
          i++;
        }


        while (i<=40){
          int j = i-20;
          while (20-j>0){
            System.out.print("_");
           j++;
          }
          System.out.println("*");
          i++;
        }


     i=1;

      }
    };


    Timer timer = new Timer();
    timer.schedule(task,0,10);

  }

}

瞎寫的

結果

_*
__*
___*
____*
_____*
______*
_______*
________*
_________*
__________*
___________*
____________*
_____________*
______________*
_______________*
________________*
_________________*
__________________*
___________________*
____________________*
___________________*
__________________*
_________________*
________________*
_______________*
______________*
_____________*
____________*
___________*
__________*
_________*
________*
_______*
______*
_____*
____*
___*
__*
_*
*
_*
__*
___*
____*
_____*
______*
_______*
________*
_________*
__________*
___________*
____________*
_____________*
______________*
_______________*
________________*
_________________*
__________________*
___________________*
____________________*
___________________*
__________________*
_________________*
________________*
_______________*
______________*
_____________*
____________*
___________*
__________*
_________*
________*
_______*
______*
_____*
____*
___*
__*
_*
*
 

 不停的跑。。。

第五章

併發工具類是什麼?

 Executor接口的侷限於克服

runnable的run和callabel的call區別

run()無返回值,call有返回值;

 第六章

 

 第七章

 第八章

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章