城市多线程

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp2.TestActivity6"
11     android:orientation="vertical">
12
13     <TextView
14         android:layout_width="match_parent"
15         android:layout_height="wrap_content"
16         android:text="城市1"
17         android:id="@+id/tv_3"/>
18
19     <TextView
20         android:layout_width="match_parent"
21         android:layout_height="wrap_content"
22         android:text="城市2"
23         android:id="@+id/tv_4"/>
24
25     <Button
26         android:layout_width="match_parent"
27         android:layout_height="wrap_content"
28         android:text="启动"
29         android:onClick="bt1_OnClick"/>
30 </LinearLayout>
  1 package com.hanqi.testapp2;
  2
  3 import android.os.Message;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.os.Bundle;
  6 import android.os.Handler;
  7 import android.view.View;
  8 import android.widget.TextView;
  9 import android.widget.Toast;
 10
 11 import java.util.Random;
 12
 13
 14 public class TestActivity6 extends AppCompatActivity {
 15
 16     TextView tv_3;
 17     TextView tv_4;
 18 @Override
 19     protected void onCreate(Bundle savedInstanceState) {
 20         super.onCreate(savedInstanceState);
 21         setContentView(R.layout.activity_test6);
 22
 23         tv_3=(TextView)findViewById(R.id.tv_3);
 24         tv_4=(TextView)findViewById(R.id.tv_4);
 25 }
 26 String c1="北京";
 27     String c2="香港";
 28
 29     public void bt1_OnClick(View v)
 30     {
 31         tv_3.setText("");
 32         tv_4.setText("");
 33
 34
 35         //创建子线程1
 36         new Thread(){
 37
 38             @Override
 39             public void run() {
 40
 41
 42                 for (int i=0;i<10;i++)
 43                 {
 44
 45                     runOnUiThread(new Runnable() {
 46                         @Override
 47                         public void run() {
 48
 49
 50                             tv_3.setText(tv_3.getText()+c1);
 51                 }
 52                     });
 53
 54
 55                     try {
 56                         //暂停时间随机
 57                         Thread.sleep(new Random().nextInt(2000));
 58                     }
 59                     catch (Exception e)
 60                     {
 61
 62                     }
 63                 }
 64                 runOnUiThread(new Runnable() {
 65                     @Override
 66                     public void run() {
 67
 68                         Toast.makeText(TestActivity6.this,c1+ "循环完成", Toast.LENGTH_SHORT).show();
 69
 70                     }
 71                 });
 72
 73
 74             }
 75         }.start();
 76
 77         //创建子线程2  实现接口
 78         new Thread(){
 79
 80             @Override
 81             public void run() {
 82
 83
 84                 for (int i=0;i<10;i++)
 85                 {
 86
 87                     runOnUiThread(new Runnable() {
 88                         @Override
 89                         public void run() {
 90
 91
 92                             tv_4.setText(tv_4.getText()+c2);
 93                         }
 94                     });
 95
 96
 97                     try {
 98                         //暂停时间随机
 99                         Thread.sleep(new Random().nextInt(2000));
100                     }
101                     catch (Exception e)
102                     {
103
104                     }
105                 }
106                 runOnUiThread(new Runnable() {
107                     @Override
108                     public void run() {
109
110                         Toast.makeText(TestActivity6.this,c2+ "循环完成", Toast.LENGTH_SHORT).show();
111
112                     }
113                 });
114
115
116             }
117         }.start();
118     }
119
120 }

  

时间: 2024-10-13 01:45:02

城市多线程的相关文章

Java多线程练习去那个城市

随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread类实现. 1.Thread类 import java.util.*; public class City extends Thread { @Override public void run() { test(); } public void test() { // 随机数 随机出休眠时间 Random

多线程—旅游城市—extends Thread

1 package xiancheng; 2 import java.util.*; 3 public class Test1 extends Thread { 4 /*随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内), 5 * 哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread类实现. 6 */ 7 String city; 8 public void run() 9 { 10 city(); 11

多线程—旅游城市—implements Runnable

1 package xiancheng; 2 3 4 import java.util.Random; 5 6 public class Test2 implements Runnable { 7 8 @Override 9 public void run() { 10 11 city(); 12 13 } 14 15 public void city() 16 { 17 Random r=new Random(); 18 int s=r.nextInt(1000); 19 20 for(int

多线程编程--两个城市去旅游

package com.example.wang.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.

多线程编程--用接口方法实现选城市旅游

package com.example.wang.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Rando

java 基础--多线程基础练习

1.随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread类实现. import java.util.Random; //多线程类 //1.是Thread的子类 //2.重写run方法 public class Test01 extends Thread{ @Override public void run() { for(int i=0;i<10;i++

多线程中共享变量——CCF总决赛试题

题目要求 数据格式 Q 系统的输入为纯文本格式的文件,由若干行组成,每一行由城市编号.年龄.收入组成,相邻两项之间用一个空格分隔.以下是输入的一个片段: 1001 20 12000 1001 50 24200 1020 30 30000 其中,城市编号是四位数(第一位不为 0),年龄与收入为整数类型. 查询描述 Q 系统需要实现以下三个常用的查询功能: Q1: 查询城市 X 某个年龄段的平均收入: Q2: 查询城市 X 的收入最高的前 K 位的收入: Q3: 分别查询某些城市某一年龄段收入的中位

Linux多线程服务端编程:使用muduo C++网络库

内容推荐本 书主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread.这是在Linux下以native语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序.本书以 muduo网络库为例,讲解这种编程模型的使用方法及注意事项.本书的宗旨是贵精不贵多.掌握两种基本的同步原语就可以满足各种多线程同步的功能需求,还能写出更易用的同步设施.掌

查询信息的服务器 客户端设立 支持并发多线程

设计并开发一个服务器程序,该服务器能够提供交通违章.主要城市天气.邮政编码的查询.如果用户在查询时输入#JT#川A 12345,则表示用户需要查询的是车牌号为川A 12345的汽车的所有违章信息:如果用户在查询时输入#TQ#成都,则表示用户需要查询的是成都的天气:如果用户在查询时输入#YB#成都,则表示用户需要查询的是成都的邮政编码.请为每项功能至少提供三项可以查询的内容,并将服务器设计成能够支持并发查询的多线程服务器. package com.lovo.exam2;import java.io