zoukankan      html  css  js  c++  java
  • Andorid 多线程(一):Thread 基本使用

    线程的基本使用

    一、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();
        }
    }
    
    
  • 相关阅读:
    Servlet使用适配器模式进行增删改查案例(IBaseDaoUtil.java)
    Servlet使用适配器模式进行增删改查案例(BaseDao.java)
    Servlet使用适配器模式进行增删改查案例(Dept.java)
    Servlet使用适配器模式进行增删改查案例(Emp.java)
    sql server案例总结
    sql server操作案例
    java语音播报案例
    Java实现网络传输数据的压缩
    Java实现网络传输数据的压缩
    LZW压缩算法原理及其Java实现
  • 原文地址:https://www.cnblogs.com/crushgirl/p/12913858.html
Copyright © 2011-2022 走看看