线程的基本使用
一、extends Thread
package com.gatsby.crushthread; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new MyThread().start(); } } class MyThread extends Thread { int i = 1; @Override public void run() { while (i < 100) { Log.d("gatsby", "i->" + (i++)); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
new MyThread().start();
二、Runnable
package com.gatsby.crushthread; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyRunnable(); } public void MyRunnable() { Runnable runnable = new Runnable() { @Override public void run() { int i = 1; while (i < 100) { Log.d("gatsby", "i->" + i++); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Thread thread = new Thread(runnable); thread.start(); } }
三、implents Runnable
package com.gatsby.crushthread; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread(new MyRunnable()).start(); } } class MyRunnable implements Runnable { int i = 1; @Override public void run() { while (i < 100) { Log.d("gatsby", "i->" + i++); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
new Thread(new MyRunnable()).start();
Thread thread = new Thread(new MyRunnable()); thread.start();
四、匿名内部类
package com.gatsby.crushthread; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread(new Runnable() { @Override public void run() { int i = 1; while (i < 100) { Log.d("gatsby", "i->" + i++); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); } }