java基本线程机制
2017-10-12 12:54
246 查看
基本线程机制
方法一
实现Runnable接口,编写
run()方法,在里面描述了要做的事。
class A implements Runnable{ public void run(){ // 编写任务脚本 } }
注意:
如果在
main()方法里直接调用
run()方法,
它不由单独的线程驱动,而是分配给运行
main()方法的那个线程,
意味着如果多个实例依次调用
run()方法,那它们依然是顺序执行的。
A a1 = new A(); A a2 = new A(); a1.run(); a2.run();
因此我们把
Runnable对象作为参数,实例化一个
Thread对象,通过
Thread来驱动它。
Thread t1 = new Thread(new A()); Thread t2 = new Thread(new A()); t1.start(); t2.start();
方法二
继承Thread类,重写
run()方法。
class A extends Thread{ public void run(){ // 编写任务脚本 } }
然后调用它从
Thread中继承来的
start()方法。
A a1 = new A(); A a2 = new A(); a1.start(); a2.start();
我们通常推荐使用方法一,相比方法二,它有以下优势:
避免Java只能继承一个类的局限;
run()中的代码可以被多个线程共享,代码和数据相互独立;
适合多个相同代码的线程处理同一个资源的情况。
线程优先级
Java中每个线程都有一个优先级,决定了OS对线程的调度顺序最小 MIN_PRIORITY = 1
默认 NORM_PRIORITY = 5
最大 MAX_PRIORITY = 10
优先级大的线程优先获得CPU分配,同等级的线程竞争CPU。
参考:http://blog.csdn.net/ns_code/article/details/17161237
相关文章推荐
- Java基本线程机制(二)
- 从头认识java-18.2 基本的线程机制(3)-线程的返回与sleep
- Java基本线程机制(一)
- Java并发-基本的线程机制
- 从头认识java-18.2 基本的线程机制(6)-使用构造器或者内部类来实现多线程的编码变体
- 第九章 Java多线程机制 01_线程的基本概念
- 从头认识java-17.2 基本的线程机制(1)-初识多线程-2
- JAVA编程思想学习总结:第21章第1-2节基本的线程机制
- java多线程系列----------- 基本的线程机制(一)
- 从头认识java-18.2 基本的线程机制(4)-优先级
- 从头认识java-18.2 基本的线程机制(8)多线程的异常捕捉
- Java线程的基本机制
- Java基本线程机制(四)
- 从头认识java-17.2 基本的线程机制(1)-初识多线程-1
- Java 并发:基本的线程机制
- java多线程系列----------- 基本的线程机制(二)
- Java编程的逻辑 (67) - 线程的基本协作机制 (上)
- 从头认识java-18.2 基本的线程机制(5)-守护线程与非守护线程
- 【JAVA并发】基本线程机制
- Java并发操作——基本的线程机制