Android/Java 中线程(Thread)的使用
生活随笔
收集整理的這篇文章主要介紹了
Android/Java 中线程(Thread)的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看到 Thread 我們想到的是線程,
在說線程的使用的先簡單的說下線程與進程的區別,這個面試題遇到的概率比較大,
進程:是系統進行資源分配的獨立單元,? ?自己的理解就是 進程是程序的一次執行過程
線程:是cpu調度的基本單元,? 自己的理解就是 線程是在進程中獨立運行的子任務
下面說下線程Tread 的使用,一般都是3中啟動的方法,
1?繼承Thread類的實現
public class MyThread extends Thread {@Overridepublic void run() {super.run();// do something}}
啟動的方法
MyThread myThread = new MyThread();myThread.start();// 或者new MyThread().start();
如果不想創建一個類可以直接new Thread;
new Thread(){@Overridepublic void run() {super.run();// do something}}.start();
2?通過實現runnable接口來實現
public class RunnableThread implements Runnable {@Overridepublic void run() {// do something}}
啟動方法
RunnableThread runnableThread = new RunnableThread();new Thread(runnableThread).start();// 或者new Thread( new RunnableThread()).start();
如果不想創建一個類可以直接new Thread ;
new Thread(new Runnable() {@Overridepublic void run() {// do something }}).start();
通過Handler 啟動線程
private Handler mHandler = new Handler();private Runnable runnable = new Runnable() {@Overridepublic void run() {// do something}};
啟動方法
mHandler.post(runnable);
終止線程的方法: 通過標記boolean變量
比如定義boolean 變量? ?
private boolean isStart = false;
public class RunnableThread implements Runnable {@Overridepublic void run() {while (!isStart){}}}
?然后我們可以通過boolean 值 來控制線程
最后補充
使用Thread 我們需要注意 lambda 情況的簡寫
比如下面的寫法就是使用到了lambda
new Thread(this::Task).start();
這個就是線程里面寫了一個Tast() 方法
下面寫下它們的演化
new Thread(new Runnable() {@Overridepublic void run() {Task();}}).start();
使用lambda 之后就這樣了
new Thread(this::Task).start();
當然寫成這樣也是可以的
new Thread(() -> Task()).start();
?
總結
以上是生活随笔為你收集整理的Android/Java 中线程(Thread)的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 治疗荨麻疹的自血疗法中用的笨海拉明注射液
- 下一篇: 气多少钱一方啊?