Java多线程的学习和应用
2012-12-13 22:08
190 查看
Java实现多线程有两种方式:
1.继承Thread类,重写run方法
注意:程序运行的时候调用的是start方法,而不是run方法
第一次运行结果:
第二次运行结果:
两次运行结果不一致,说明我们的目的达到了
2.实现Runnable
第一次运行结果
第二次运行
注意:运行时,要先创建Thread对象,把需要多线程运行的事例传进去,然后调用Thread的run方法
1.继承Thread类,重写run方法
package com.bjdata.test; public class ThreadTest extends Thread{ String name=""; public ThreadTest(String n){ name=n; } public void run(){ for(int i=0;i<6;i++){ System.out.println(name+":hello:"+i); } } public static void main(String[] args) { ThreadTest test1=new ThreadTest("A"); ThreadTest test2=new ThreadTest("B"); test1.start(); test2.start(); } }
注意:程序运行的时候调用的是start方法,而不是run方法
第一次运行结果:
A:hello:0 B:hello:0 B:hello:1 B:hello:2 B:hello:3 B:hello:4 B:hello:5 A:hello:1 A:hello:2 A:hello:3 A:hello:4 A:hello:5
第二次运行结果:
B:hello:0 B:hello:1 B:hello:2 B:hello:3 B:hello:4 B:hello:5 A:hello:0 A:hello:1 A:hello:2 A:hello:3 A:hello:4 A:hello:5
两次运行结果不一致,说明我们的目的达到了
2.实现Runnable
package com.bjdata.test; public class RunableTest implements Runnable{ String name=""; public RunableTest(String n){ name=n; } public void run(){ for(int i=0;i<6;i++){ System.out.println(name+":hello:"+i); } } public static void main(String[] args) { RunableTest test1=new RunableTest("A"); RunableTest test2=new RunableTest("B"); Thread thread1=new Thread(test1); Thread thread2=new Thread(test2); thread1.start(); thread2.start(); } }
第一次运行结果
A:hello:0 A:hello:1 A:hello:2 A:hello:3 A:hello:4 A:hello:5 B:hello:0 B:hello:1 B:hello:2 B:hello:3 B:hello:4 B:hello:5
第二次运行
A:hello:0 A:hello:1 A:hello:2 B:hello:0 B:hello:1 B:hello:2 B:hello:3 B:hello:4 B:hello:5 A:hello:3 A:hello:4 A:hello:5
注意:运行时,要先创建Thread对象,把需要多线程运行的事例传进去,然后调用Thread的run方法
相关文章推荐
- Java多线程学习与Java多线程的简单应用
- Java核心技术学习---多线程,锁,同步,条件对象部分应用源码
- Java多线程与并发库高级应用 学习笔记 10-16课
- 【黑马程序员】Java多线程学习及应用
- Java多线程与并发库高级应用 学习笔记 16-22课 +面试题
- 学习笔记1:java多线程机制之线程概念
- Java统计学习之道:HBase在数据统计应用中的使用心得
- Java多线程--synchronized ,Condition,BlockingQueue应用实例
- Java并发28:ThreadLocal学习笔记-简介、基本方法及应用场景
- 黑马程序员 JAVA学习笔记 ——— 多线程
- Android(java)学习笔记181:Android 服务的应用,在Activity中实现背景音乐播放
- java 多线程浅入浅出学习笔记
- Java多线程学习——Condition的使用
- Java学习日志(12-2-多线程相关操作)
- [转载]java多线程学习-java.util.concurrent详解(一) Latch/Barrier
- JAVA学习第十五课(多态及其基本应用)
- 张孝祥_Java多线程与并发库高级应用01
- Java类集学习(七)应用范例(多对多的关系)
- java多线程学习8-显示锁Lock和ReentrantLock
- java多线程学习2,线程的属性