對于Android開(kāi)發中(zhōng)多線程的應用,常見是多個任務的同時進行,那麽這裏舉一(yī)個例子:實現2個窗口同時賣火(huǒ)車(chē)票;每個窗口賣100張,賣票速度都是1s/張。具體(tǐ)該如何做呢?下(xià)面專業app開(kāi)發報價燚軒科技來爲大(dà)家講解一(yī)下(xià)。
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">
//設置一(yī)個按鈕用以啓動賣票
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="點擊開(kā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 {
//主布局中(zhōng)定義了一(yī)個按鈕用以啓動線程
Button button;
//步驟1:創建線程類,繼承自Thread類
private class MyThread extends Thread{
private int ticket = 100;//一(yī)個窗口有100張票
private String name; //窗口名, 也即是線程的名字
public MyThread(String name){
this.name=name;
}
//在run方法裏複寫需要進行的操作
@Override
public void run(){
while (ticket>0){
ticket--;
System.out.println(name + "賣掉了1張票,剩餘票數爲:"+ticket);
try {
Thread.sleep(1000);//賣票速度是1s一(yī)張
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Button按下(xià)時會開(kāi)啓一(yī)個新線程執行賣票
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//步驟2:創建線程類的實例
//創建二個線程,模拟二個窗口賣票
MyThread mt1 = new MyThread("窗口1");
MyThread mt2 = new MyThread("窗口2");
//步驟3:調用start()方法開(kāi)啓線程
//啓動二個線程,也即是窗口,開(kāi)始賣票
mt1.start();
mt2.start();
}
});
}
}
測試結果如下(xià):
好了,看到這裏大(dà)家也都清楚運行的流程了,如果還存在疑問的話(huà)可以留言咨詢我(wǒ)(wǒ)們。
s="MsoNormal"> ...
s="MsoNormal"> ...
亮度蒙版是影調調整的基石。它提供了一(yī)個簡便的方法來選取圖...
s="p"> <span...
目前大(dà)家經常會遇到摳圖的問題,最多的就是摳人體(tǐ)、頭發,摳...
請掃二維碼聯系客服
854221200@qq.com
185-3825-9583
QQ客服
關于  ·  招聘  ·  案例中(zhōng)心  ·  網站地圖
©@2018 燚軒科技版權所有 豫ICP備16015002号-4
百度提供搜索支持