對(duì)于Android開(kāi)發(fā)中多線(xiàn)程的應(yīng)用,常見(jiàn)是多個(gè)任務(wù)的同時(shí)進(jìn)行,那么這里舉一個(gè)例子:實(shí)現(xiàn)2個(gè)窗口同時(shí)賣(mài)火車(chē)票;每個(gè)窗口賣(mài)100張,賣(mài)票速度都是1s/張。具體該如何做呢?下面專(zhuān)業(yè)app開(kāi)發(fā)報(bào)價(jià)燚軒科技來(lái)為大家講解一下。
main_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.carson_ho.demoforthread.MainActivity">
//設(shè)置一個(gè)按鈕用以啟動(dòng)賣(mài)票
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="點(diǎn)擊開(kāi)始賣(mài)票"
android:layout_centerInParent="true"
/>
</RelativeLayout>
MainActivity.java
package com.example.carson_ho.demoforthread;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
//主布局中定義了一個(gè)按鈕用以啟動(dòng)線(xiàn)程
Button button;
//步驟1:創(chuàng)建線(xiàn)程類(lèi),繼承自Thread類(lèi)
private class MyThread extends Thread{
private int ticket = 100;//一個(gè)窗口有100張票
private String name; //窗口名, 也即是線(xiàn)程的名字
public MyThread(String name){
this.name=name;
}
//在run方法里復(fù)寫(xiě)需要進(jìn)行的操作
@Override
public void run(){
while (ticket>0){
ticket--;
System.out.println(name + "賣(mài)掉了1張票,剩余票數(shù)為:"+ticket);
try {
Thread.sleep(1000);//賣(mài)票速度是1s一張
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Button按下時(shí)會(huì)開(kāi)啟一個(gè)新線(xiàn)程執(zhí)行賣(mài)票
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//步驟2:創(chuàng)建線(xiàn)程類(lèi)的實(shí)例
//創(chuàng)建二個(gè)線(xiàn)程,模擬二個(gè)窗口賣(mài)票
MyThread mt1 = new MyThread("窗口1");
MyThread mt2 = new MyThread("窗口2");
//步驟3:調(diào)用start()方法開(kāi)啟線(xiàn)程
//啟動(dòng)二個(gè)線(xiàn)程,也即是窗口,開(kāi)始賣(mài)票
mt1.start();
mt2.start();
}
});
}
}
測(cè)試結(jié)果如下:
好了,看到這里大家也都清楚運(yùn)行的流程了,如果還存在疑問(wèn)的話(huà)可以留言咨詢(xún)我們。
s="MsoNormal"> ...
s="MsoNormal"> ...
亮度蒙版是影調(diào)調(diào)整的基石。它提供了一個(gè)簡(jiǎn)便的方法來(lái)選取圖...
s="p"> <span...
目前大家經(jīng)常會(huì)遇到摳圖的問(wèn)題,最多的就是摳人體、頭發(fā),摳...
請(qǐng)掃二維碼聯(lián)系客服
854221200@qq.com
185-3825-9583
QQ客服
關(guān)于  ·  招聘  ·  案例中心  ·  網(wǎng)站地圖
?@2018 燚軒科技版權(quán)所有 豫ICP備16015002號(hào)-4
百度提供搜索支持