Android多线程的两种方式
新手学习随记,理解有限,还请各路大神多多指教,开发环境Andioid Studio 3.5。
Android 多线程
Android的机制“子线程刷新主线程刷新UI”的机制决定了多线程的广泛使用。
1 第一种Thread开启子线程方法
// Thread开启子线程的方法
package com.example.studythread;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//第一种开启子线程方法
MyThread mt=new MyThread();
mt.start();
//看作主线程处理方式
for(int i=0;i<100;i++){
System.out.println("b");
}
}
//第一种方法thread
class MyThread extends Thread{
@Override
public void run() {
super.run();
for(int i=0;i<100;i++){
System.out.println("a");
}
}
}
}
2 第二种Runnable 开启子线程方法
// Thread开启子线程的方法
package com.example.studythread;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//第二种开启子线程方法
MyRunnable mr=new MyRunnable();
Thread t=new Thread(mr);
t.start();
//看作是主线程
for(int i=0;i<100;i++){
System.out.println("b");
}
}
//第二种方法开启子线程方法runnable
class MyRunnable implements Runnable{
@Override
public void run() {
for(int i=0;i<100;i++){
System.out.println("a");
}
}
}
}
匿名内部类的简化多线程方法
package com.example.studythread;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//两种匿名内部类的简化多线程方法
new Thread(){
@Override
public void run() {
super.run();
for(int i=0;i<100;i++){
System.out.println("a");
}
}
}.start(