久久精品无码av|精品人妻春药中文字幕|成人精品亚洲欧洲国产|国产日韩欧美精品一区二区|污污国产精品免费观看入口|A级毛片无码久久精品免费|久久精品国产亚洲高清剧情介绍|欧美日韩激情视频一区二区三区

首頁(yè)

Android多線程:如何實(shí)現(xiàn)兩個(gè)相同的耗時(shí)任務(wù)

Android多線程 2018-05-30 5815

對(duì)于Android開發(fā)中多線程的應(yīng)用,常見是多個(gè)任務(wù)的同時(shí)進(jìn)行,那么這里舉一個(gè)例子:實(shí)現(xiàn)2個(gè)窗口同時(shí)賣火車票;每個(gè)窗口賣100張,賣票速度都是1s/張。具體該如何做呢?下面專業(yè)app開發(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)賣票
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="點(diǎn)擊開始賣票"
        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)線程
    Button button;

    //步驟1:創(chuàng)建線程類,繼承自Thread類
    private class MyThread extends Thread{

        private int ticket = 100;//一個(gè)窗口有100張票
        private String name; //窗口名, 也即是線程的名字

        public MyThread(String name){
            this.name=name;
        }

        //在run方法里復(fù)寫需要進(jìn)行的操作
        @Override
        public void run(){
            while (ticket>0){
                ticket--;
                System.out.println(name + "賣掉了1張票,剩余票數(shù)為:"+ticket);

                try {
                    Thread.sleep(1000);//賣票速度是1s一張
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }

    }

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            //Button按下時(shí)會(huì)開啟一個(gè)新線程執(zhí)行賣票
            button = (Button) findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    //步驟2:創(chuàng)建線程類的實(shí)例
                    //創(chuàng)建二個(gè)線程,模擬二個(gè)窗口賣票
                    MyThread mt1 = new MyThread("窗口1");
                    MyThread mt2 = new MyThread("窗口2");

                    //步驟3:調(diào)用start()方法開啟線程
                    //啟動(dòng)二個(gè)線程,也即是窗口,開始賣票
                    mt1.start();
                    mt2.start();

                }
            });

        }
    }



測(cè)試結(jié)果如下:

好了,看到這里大家也都清楚運(yùn)行的流程了,如果還存在疑問(wèn)的話可以留言咨詢我們。

分享到微信朋友圈 +
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,使用 “掃一掃” 即可將網(wǎng)頁(yè)分享到我的朋友圈。 如何使用?
推薦文章

熱貼More +

服務(wù)范圍More +

聯(lián)系我們

請(qǐng)掃二維碼聯(lián)系客服

854221200@qq.com

185-3825-9583

QQ客服

關(guān)于  ·  招聘  ·  案例中心  ·  網(wǎng)站地圖

?@2018 燚軒科技版權(quán)所有 豫ICP備16015002號(hào)-4

百度提供搜索支持

沾化县| 沂南县| 进贤县| 曲周县| 新安县| 江达县| 恭城| 黑龙江省| 连平县| 泸溪县| 客服| 新闻| 青冈县| 镇赉县| 沐川县| 泸西县| 容城县| 科技| 三原县| 浏阳市| 抚宁县| 海城市| 静海县| 隆林| 井冈山市| 廊坊市| 紫金县| 昌都县| 太原市| 凌源市| 黄骅市| 资阳市| 大关县| 临高县| 安化县| 太和县| 南澳县| 达州市| 库尔勒市| 呼伦贝尔市| 桓仁|