Android-Java-Thread的使用
main线程跑三个任务:
package android.java.thread2;
class Demo {
private String name;
public Demo(String name) {
this.name = name;
}
public void showMethod() {
for (int i = 0; i < 10; i++) {
System.out.println("Demo showMethod >>>>>>>" + name + " " + i);
}
}
}
public class Test {
public static void main(String[] args) {
Demo demo1 = new Demo("步惊云");
Demo demo2 = new Demo("秦霜");
// 任务1 >>>main线程在执行
demo1.showMethod();
// 任务2 >>>main线程在执行
demo2.showMethod();
// 任务3 >>>main线程在执行
for (int i = 0; i < 10; i++) {
System.out.println("Test main " + i);
}
}
}
执行的结果:
Demo showMethod >>>>>>>步惊云 0
Demo showMethod >>>>>>>步惊云 1
Demo showMethod >>>>>>>步惊云 2
Demo showMethod >>>>>>>步惊云 3
Demo showMethod >>>>>>>步惊云 4
Demo showMethod >>>>>>>步惊云 5
Demo showMethod >>>>>>>步惊云 6
Demo showMethod >>>>>>>步惊云 7
Demo showMethod >>>>>>>步惊云 8
Demo showMethod >>>>>>>步惊云 9
Demo showMethod >>>>>>>秦霜 0
Demo showMethod >>>>>>>秦霜 1
Demo showMethod >>>>>>>秦霜 2
Demo showMethod >>>>>>>秦霜 3
Demo showMethod >>>>>>>秦霜 4
Demo showMethod >>>>>>>秦霜 5
Demo showMethod >>>>>>>秦霜 6
Demo showMethod >>>>>>>秦霜 7
Demo showMethod >>>>>>>秦霜 8
Demo showMethod >>>>>>>秦霜 9
Test main 0
Test main 1
Test main 2
Test main 3
Test main 4
Test main 5
Test main 6
Test main 7
Test main 8
Test main 9
从以上结果可以看出:
这三个任务都是被main这一个线程来完成的,这样会造成 demo1.showMethod(); 执行的时候 demo2.showMethod(); 任务3处于等待状态
三个任务同时执行,使用Thread
package android.java.thread2;
class Demo extends Thread { // 继承Thread 并重写 run() 方法,属于定义一个线程子类
private String name;
public Demo(String name) {
this.name = name;
}
/**
* run方法里面执行的是start线程里面执行任务
*/
@Override
public void run() {
super.run();
showMethod();
}
public void showMethod() {
for (int i = 0; i < 10; i++) {
System.out.println("Demo showMethod >>>>>>>" + name + " " + i);
}
}
}
public class Test {
public static void main(String[] args) {
Demo demo1 = new Demo("步惊云");
Demo demo2 = new Demo("秦霜");
// 任务1 >>>启动一个新线程去执行任务
demo1.start();
// 任务2 >>>启动一个新线程去执行任务
demo2.start();
// 任务3 >>>main线程在执行
for (int i = 0; i < 10; i++) {
System.out.println("Test main " + i);
}
}
}
第一次执行结果:
Demo showMethod >>>>>>>步惊云 0
Demo showMethod >>>>>>>秦霜 0
Demo showMethod >>>>>>>秦霜 1
Demo showMethod >>>>>>>秦霜 2
Demo showMethod >>>>>>>秦霜 3
Demo showMethod >>>>>>>步惊云 1
Demo showMethod >>>>>>>步惊云 2
Demo showMethod >>>>>>>步惊云 3
Demo showMethod >>>>>>>步惊云 4
Demo showMethod >>>>>>>步惊云 5
Demo showMethod >>>>>>>步惊云 6
Demo showMethod >>>>>>>步惊云 7
Demo showMethod >>>>>>>秦霜 4
Demo showMethod >>>>>>>秦霜 5
Demo showMethod >>>>>>>秦霜 6
Demo showMethod >>>>>>>秦霜 7
Demo showMethod >>>>>>>秦霜 8
Demo showMethod >>>>>>>秦霜 9
Test main 0
Test main 1
Demo showMethod >>>>>>>步惊云 8
Demo showMethod >>>>>>>步惊云 9
Test main 2
Test main 3
Test main 4
Test main 5
Test main 6
Test main 7
Test main 8
Test main 9
第二次执行结果:
Demo showMethod >>>>>>>步惊云 0
Demo showMethod >>>>>>>步惊云 1
Demo showMethod >>>>>>>步惊云 2
Demo showMethod >>>>>>>步惊云 3
Demo showMethod >>>>>>>步惊云 4
Demo showMethod >>>>>>>步惊云 5
Demo showMethod >>>>>>>步惊云 6
Demo showMethod >>>>>>>步惊云 7
Demo showMethod >>>>>>>步惊云 8
Demo showMethod >>>>>>>步惊云 9
Demo showMethod >>>>>>>秦霜 0
Demo showMethod >>>>>>>秦霜 1
Demo showMethod >>>>>>>秦霜 2
Test main 0
Test main 1
Test main 2
Test main 3
Test main 4
Test main 5
Test main 6
Test main 7
Test main 8
Test main 9
Demo showMethod >>>>>>>秦霜 3
Demo showMethod >>>>>>>秦霜 4
Demo showMethod >>>>>>>秦霜 5
Demo showMethod >>>>>>>秦霜 6
Demo showMethod >>>>>>>秦霜 7
Demo showMethod >>>>>>>秦霜 8
Demo showMethod >>>>>>>秦霜 9
第三次执行结果:
Demo showMethod >>>>>>>步惊云 0
Demo showMethod >>>>>>>秦霜 0
Demo showMethod >>>>>>>秦霜 1
Demo showMethod >>>>>>>秦霜 2
Demo showMethod >>>>>>>秦霜 3
Demo showMethod >>>>>>>秦霜 4
Test main 0
Test main 1
Test main 2
Test main 3
Test main 4
Test main 5
Test main 6
Test main 7
Test main 8
Test main 9
Demo showMethod >>>>>>>秦霜 5
Demo showMethod >>>>>>>秦霜 6
Demo showMethod >>>>>>>秦霜 7
Demo showMethod >>>>>>>秦霜 8
Demo showMethod >>>>>>>秦霜 9
Demo showMethod >>>>>>>步惊云 1
Demo showMethod >>>>>>>步惊云 2
Demo showMethod >>>>>>>步惊云 3
Demo showMethod >>>>>>>步惊云 4
Demo showMethod >>>>>>>步惊云 5
Demo showMethod >>>>>>>步惊云 6
Demo showMethod >>>>>>>步惊云 7
Demo showMethod >>>>>>>步惊云 8
Demo showMethod >>>>>>>步惊云 9
以上三次结果是由CPU非常快速切换决定的
Android-Java-Thread的使用的更多相关文章
- Android Process & Thread
Native Service and Android Service Native Service:In every main() method of NativeService, which is ...
- android java socket断线重连
android java socket断线重连 thread = new Thread(new Runnable() { @Override public void run() { while (tr ...
- Java Thread 的 sleep() 和 wait() 的区别
Java Thread 的使用 Java Thread 的 run() 与 start() 的区别 Java Thread 的 sleep() 和 wait() 的区别 1. sleep ...
- Java Thread 的 run() 与 start() 的区别
Java Thread 的使用 Java Thread 的 run() 与 start() 的区别 Java Thread 的 sleep() 和 wait() 的区别 1. ...
- Java Thread wait, notify and notifyAll Example
Java Thread wait, notify and notifyAll Example Java线程中的使用的wait,notify和nitifyAll方法示例. The Object clas ...
- java: Thread 和 runnable线程类
java: Thread 和 runnable线程类 Java有2种实现线程的方法:Thread类,Runnable接口.(其实Thread本身就是Runnable的子类) Thread类,默认有ru ...
- .NET/android/java/iOS AES通用加密解密(修正安卓)
移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输.今天研究了一下,把几种语言的加密都 ...
- Android java传递int类型数组给C
接着前面的文章<Android java传递int类型数据给C><Android java传递string类型数据给C>,继续实践 实现public native int[] ...
- Android java传递string类型数据给C
本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...
- Java Thread join() 的用法
Java Thread中, join() 方法主要是让调用改方法的thread完成run方法里面的东西后, 在执行join()方法后面的代码.示例: class ThreadTesterA imple ...
随机推荐
- Ansible Galaxy
命令行工具 ansible-galaxy命令与Ansible捆绑在一起,您可以使用它从Galaxy或直接从基于git的SCM安装角色. 您还可以使用它在Galaxy网站上创建新角色,删除角色或执行任务 ...
- LibreOJ 6282 数列分块入门 6(在线插入在线查询)
题解:还是分块,将每个块存入vector,然后在插入的时候就是sqrt(n)级的重构,如果块太大了,暴力将这个块拆开. 代码如下: #include<cmath> #include< ...
- 123. Best Time to Buy and Sell Stock III (Array; DP)
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- JSON在各种语言中的运用
1. JSON数据格式 JSON(JavaScript Object Notation) 从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的strin ...
- git协议
常用三种协议:ssh, git, http ssh协议: 使用ssh传输,安全,可授权,需要用ssh登录,一般使用添加秘钥的方式.搭建方便. git协议: 使用git-daemon监听9418端口,配 ...
- jquery 动态添加的代码不能触发绑定事件
今天发现jQuery对动态添加的元素不触发事件,比如blur.click事件等 参考文章证明了我的结论,并给出了原因及解决方案 原因:程序找不到动态添加的节点. 解决方案:在绑定父元素后的子元素 $( ...
- jDeveloper运行慢
最近在使用 Jdeveloper 10.1.3.3 版本时发现速度奇慢无比,后经Google,发现如下解决方案:在 jdev.conf 文件的末尾加上如下两行,速度即可得到显著的提高. AddVMOp ...
- JAVA规则引擎JSR-94笔札
JAVA规则引擎JSR-94笔札 JSR-94 是由JCP(Java Community Process)组织所制定的java规则引擎API的java请求规范.它主要定义了规则引擎在java运行时的一 ...
- Linux dkpg命令
一.简介 dpkg 是Debian Package 的简写,是Debian系列系统下的一个软件安装.更新及移除工具. 二.常用指令 1.查询功能 查看软件包信息: dpkg -info xxx.deb ...
- p3412 [POI2005]SKO-Knights
传送门 分析 图1 我们假设我们现在有两个向量(2,3)和(4,2),将他们所能到达的点在几何画板上画出来,再将这些点用红线连起来,在将横坐标相同的点用蓝线连起来便能得到图1,就此我们可以发现可以用绿 ...

