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介绍/安装/入门
http://docs.ansible.com/ansible/ https://galaxy.ansible.com/ Ansible是一个IT自动化工具. 它可以配置系统,部署软件,并编排更先进的 ...
- CentOS7使用yum详细搭建zabbix3.2过程
本文引用于:http://blog.csdn.net/s3275492383/article/details/62417210 一.准备搭建环境: 1.系统:CentOS7 2.默认有使用linux服 ...
- intellij idea 的常见配置
1.视图配置 配置好后如下图: 2.修改字体大小 3.编码修改 4.行号显示 5.控制台字体大小调整 File->Settings->Editor->Colors & F ...
- 查询中mybatis的if判断里传入0
1.传入的是long 或者 Integer类型 ,<if test="id != null "> 但是id传值为0时(前提是id对应的类型为long 或者 Intege ...
- 如何禁止浏览器自动填充非登陆input的账号和密码?
发现浏览器填充密码的方式,那就是,找到页面上第一个type为password的input填充.发现了这个规律后,很自然的就想到了,是不是可以在真正的password前面加一个隐藏的password,形 ...
- 利用Python和webhook实现自动提交代码
最近在为公司书写项目的api文档,计划利用码云的wiki管理整个项目,公司自有git作为项目内容依托,这样全员都可参与,而我定期向码云推送就可以了. 问题 根据需求遇见了这样一个问题:我每次从git上 ...
- VMware下centos7安装VMware Tools
右键虚拟机设置,找到CD/DVD,选择使用ISO映像文件,在VMware安装目录下找到linux.iso. 挂载iso文件 > mount -t auto /dev/cdrom /mnt/c ...
- linux用户和组2
1.用户相关命令 su 切换用户 root -> 普通用户 不需要密码 普通用户之间 需要密码 普通用户->root 需要密码 newgrp 切换组身份 whoami 查看当前登录名称 i ...
- golang通过反射动态调用方法
func Call(m map[string]interface{}, name string, params ...interface{}) ([]reflect.Value, error) { f ...
- DataTableExtensions
public static class DataTableExtensions { public static List<dynamic> ToDynamic(this DataTable ...

