一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Android - Android多線程處理機(jī)制中的Handler使用介紹

Android多線程處理機(jī)制中的Handler使用介紹

2021-01-25 14:55Android開發(fā)網(wǎng) Android

本文將為大家介紹下Android的Handler的使用方法,Handler可以發(fā)送Messsage和Runnable對象到與其相關(guān)聯(lián)的線程的消息隊(duì)列,感興趣的朋友可以了解下哈

接下來讓我介紹Android的Handler的使用方法。Handler可以發(fā)送Messsage和Runnable對象到與其相關(guān)聯(lián)的線程的消息隊(duì)列。每個Handler對象與創(chuàng)建它的線程相關(guān)聯(lián),并且每個Handler對象只能與一個線程相關(guān)聯(lián)。

Handler一般有兩種用途:1)執(zhí)行計劃任務(wù),你可以再預(yù)定的實(shí)現(xiàn)執(zhí)行某些任務(wù),可以模擬定時器。2)線程間通信。在Android的應(yīng)用啟動時,會創(chuàng)建一個主線程,主線程會創(chuàng)建一個消息隊(duì)列來處理各種消息。當(dāng)你創(chuàng)建子線程時,你可以再你的子線程中拿到父線程中創(chuàng)建的Handler對象,就可以通過該對象向父線程的消息隊(duì)列發(fā)送消息了

MainActivity.java
[java]

復(fù)制代碼 代碼如下:


package com.example.thread;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tv;
// 消息處理者
private Handler handler;
private static final int TURNTEXT = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
System.out.println("主線程----" + Thread.currentThread().getName());
tv = new TextView(this);
tv.setText("你好");
setContentView(tv);
// 處理者
handler = new Handler() {
// handlerMessage方法處理handler發(fā)送的消息
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
// msg.what操作獲取發(fā)送什么消息,根據(jù)消息的標(biāo)識,進(jìn)行不同處理方式
int what = msg.what;
if (what == TURNTEXT) {
tv.setText(System.currentTimeMillis() + "");
}
}
};
try {
//主線程 阻塞 6s 大于
Thread.sleep(10000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//run方法執(zhí)行完畢 線程就死掉
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
System.out.println("子線程----"
+ Thread.currentThread().getName());
Thread.sleep(1000);
// 發(fā)送消息 what標(biāo)識
handler.sendEmptyMessage(TURNTEXT);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
package com.example.thread;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tv;
// 消息處理者
private Handler handler;
private static final int TURNTEXT = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
System.out.println("主線程----" + Thread.currentThread().getName());
tv = new TextView(this);
tv.setText("你好");
setContentView(tv);
// 處理者
handler = new Handler() {
// handlerMessage方法處理handler發(fā)送的消息
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
// msg.what操作獲取發(fā)送什么消息,根據(jù)消息的標(biāo)識,進(jìn)行不同處理方式
int what = msg.what;
if (what == TURNTEXT) {
tv.setText(System.currentTimeMillis() + "");
}
}
};
try {
//主線程 阻塞 6s 大于
Thread.sleep(10000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//run方法執(zhí)行完畢 線程就死掉
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
System.out.println("子線程----"
+ Thread.currentThread().getName());
Thread.sleep(1000);
// 發(fā)送消息 what標(biāo)識
handler.sendEmptyMessage(TURNTEXT);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本视频免费看 | 国产免费视| 国产情侣视频观看 | blacked在线播放 | 男人狂躁女人gif动态图 | 色老板在线 | 国产v视频 | 高清免费毛片 | 69热精品视频在线看影院 | 免费午夜影院 | 国产卡一卡二卡三乱码手机 | 国产婷婷综合丁香亚洲欧洲 | 欧美日韩一区二区三区韩大 | 成年人视频在线 | 人与动人物人a级特片 | 插入粉嫩| 免费在线公开视频 | 91寡妇天天综合久久影院 | nxgx在线观看国产中文 | 3p文两男一女办公室高h | 毛片手机在线视频免费观看 | 日本免费久久久久久久网站 | 特黄特黄一级片 | 高跟翘臀老师后进式视频 | 精品国产综合区久久久久久 | 东方影视欧美天天影院 | 99视频九九精品视频在线观看 | 天天澡夜夜澡狠狠澡 | 2018天天拍拍拍免费视频 | 日韩中文字幕在线不卡 | 欧美性xxxxxx爱 | 毛片www| 好大好硬快点好爽公 | 欧美日韩综合一区 | 亚洲福利一区二区三区 | 深夜草莓视频 | 99热在线只有精品 | 男女操bb | japanese在线观看 | 日本视频高清免费观看xxx | 吉川爱美与黑人解禁 |