用Java的Thread、Runnable、Timer三種方法實現每隔一毫秒列印Hello,同時計算從1加到10000,算完後輸出結果並停止列印Hello。
用Java的Thread、Runnable、Timer三種方法實現每隔一毫秒列印Hello,同時計算從1加到10000,算完後輸出結果並停止列印Hello。
一、Thread實現
//列印Hello
package thread;
public class PrintHello extends Thread {
public static boolean flag=true;//標誌位:根據標誌位判斷是否要執行列印
private String str;
public PrintHello() {}
public PrintHello(String str) {
this.str=str;
}
@Override
public void run() {
while(flag){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(str);
}
}
//關閉執行緒
public void shutdown(){
flag=false;
}
}
//計算從1加到100000。計算完成後輸出結果,並關閉PrintHello執行緒。
package thread;
public class Calculation extends Thread {
int sum=0;
@Override
public void run() {
for(int i=1;i<=10000;i++){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
sum+=i;
System.out.println(sum);
}
//關閉PrintHello執行緒
new PrintHello().shutdown();
}
}
//主程式
package thread;
public class TestThread {
public static void main(String[] args) {
PrintHello thPrint = new PrintHello("Hello");
Calculation thCalc = new Calculation();
thPrint.start();
thCalc.start();
}
}
二、Runnable實現
//列印Hello
package runnable;
public class PrintHello implements Runnable {
private static boolean flag=true;
private String str;
public PrintHello() {
}
public PrintHello(String str) {
this.str=str;
}
@Override
public void run() {
while(flag){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(str);
}
}
//關閉執行緒
public void shutdown(){
flag=false;
}
}
//計算從1加到100000。計算完成後輸出結果,並關閉PrintHello執行緒。
package runnable;
public class Calculation implements Runnable {
int sum=0;
@Override
public void run() {
for(int i=1;i<=10000;i++){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sum+=i;
System.out.println(sum);
}
//關閉PrintHello執行緒
new PrintHello().shutdown();
}
}
//主程式
package runnable;
public class TestRunnable {
public static void main(String[] args) {
Thread thPrint=new Thread(new PrintHello(“Hello”));
Thread thCalculation=new Thread(new Calculation());
thPrint.start();
thCalculation.start();
}
}
三、Timer實現
package timer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
class PrintAndCalculation extends TimerTask{
int i=1;
int sum=0;
@Override
public void run() {
Timer timer=new Timer();
if(i>10000){
timer.cancel();
}else{
System.out.println("Hello");
sum+=i;
i++;
System.out.println(sum);
timer.cancel();
}
}
}
public class TimerPrintCalculation {
public static void main(String[] args) {
Timer timer=new Timer();
timer.schedule(new PrintAndCalculation(), new Date(), 1);
}
}
相關文章
- Java實現第一個程式碼,輸出 hello worldJava
- C語言列印“Hello World“C語言
- 核心必須懂(一):用系統呼叫列印Hello,world!
- Hello,Threadthread
- python 實現計算器功能 輸入字串,輸出相應結果Python字串
- 輸出hello world
- 實現三條執行緒,分別列印A,B,C,但是看到輸出來的結果是ABCABC……執行緒
- 使用Python計算某個數的階乘及列印1!-2!+3!-4!...+50!的結果Python
- python輸出hello worldPython
- 另一種列印輸出日誌資訊的方式
- 實驗二:編寫輸出"Hello World!"
- Java日期時間API系列38-----一種高效的工作日計算計算方法JavaAPI
- python 使用 loguru 輸出異常日誌同時列印變數值Python變數
- 使用IntelliJ IDEA 2020.2.2 x64 新建java專案並且輸出Hello WorldIntelliJIdeaJava
- 計算機系統->Hello World的一生 | 程式如何執行計算機
- Flink實時計算pv、uv的幾種方法
- Java如何建立臨時檔案並列印File各種屬性Java
- 一個頁面內放入文字框和按鈕,實現文字框和按鈕輸繫結,輸入圓半徑,計算圓面積並彈窗計算結果顯示出來。(js)JS
- C語言從1列印到100再列印到1該如何編寫?我只服最後一種寫法!C語言
- 讓你的Laravel在 15 毫秒內返回一個"hello world!"Laravel
- 用java實現一個簡單的計算器Java
- java 專案中整合 echarts 統計圖,有什麼方法實現列印匯出?JavaEcharts
- 劍指Offer-17-列印從1到最大的n位數-Java程式碼實現(兩種思路)Java
- Java™ 教程(格式化數字列印輸出)Java
- Python中4種方法實現列印整個Pandas DataFramePython
- 實時計算Flink>獨享模式>Batch(試用)>建立結果表——建立CSV結果表模式BAT
- 實驗三:分別用for、while和do-while迴圈語句以及遞迴方法計算n!,並輸出算式While遞迴
- 從0到1實現一個簡單計算器
- 入門輸出Hello World!——C語言C語言
- 三種語言實現計算二進位制中1的個數(C++/Python/Java)C++PythonJava
- c語言單連結串列的實現,包括連結串列的建立、插入、查詢、刪除、列印、長度計算C語言
- Java之異常資訊的三種列印方式Java
- 模冪運算-要求演算法返回冪運算a^b的計算結果與1337取模後的結果演算法
- 用遞迴的方法列印出輸入的任意整數遞迴
- Solon v1.11.0 釋出,Hello JavaJava
- win7系統下列印ppt時去除列印時間的方法Win7
- 驗證for迴圈列印數字1-9999所需要使用的時間(毫秒)
- Java實現一個簡單的計算器Java