当前位置:   article > 正文

Java常用API(十)——多线程基础_java线程常用的api

java线程常用的api

多线程:允许"同时"执行多段代码。实际上多线程是并发运行的,每段代码都是走走停停的。CPU会在这些线程间快速切换,保证每段代码都有进度。从而感官上是同时运行。
线程的创建:
第一种创建方式:定义一个线程类并继承线程Thread,然后重写run方法。run方法定义线程执行的任务代码。

  1. package thread;
  2. public class ThreadDemo {
  3. public static void main(String[] args) {
  4. Thread t1=new MyThread1();
  5. Thread t2=new MyThread2();
  6. /**启动线程要执行start方法,而不是直接调用run方法 */
  7. t1.start();
  8. t2.start();
  9. }
  10. }
  11. class MyThread1 extends Thread{
  12. public void run() {
  13. for (int i =0;i<1000;i++) {
  14. System.out.println(" ");
  15. }
  16. }
  17. }
  18. class MyThread2 extends Thread{
  19. public void run() {
  20. for (int i =0;i<1000;i++) {
  21. System.out.println(".");
  22. }
  23. }
  24. }

第一种创建线程的方式的不足:
1.java是单继承,导致了无法再继承其他类来实现代码复用,不利于开发。
2.由于在线程内部直接重写run方法定义了线程要执行的任务,导致该线程只能执行该任务,使得线程与任务存在必然的强耦合关系,复用性变差。

第二种创建方式:
实现Runnable接口单独定义线程任务。

  1. package thread;
  2. public class ThreadDemo2{
  3. public static void main(String[] args){
  4. Runnable r1=new MyRunnable1();
  5. Runnable r2=new MyRunnable2();
  6. Thread t1=new Thread(r1);
  7. Thread t2=new Thread(r2);
  8. t1.start();
  9. t2.start();
  10. }
  11. }
  12. class MyRunnable1 implements Runnable{
  13. public void run() {
  14. for (int i =0;i<1000;i++) {
  15. System.out.println(00);
  16. }
  17. }
  18. }
  19. class MyRunnable2 implements Runnable{
  20. public void run() {
  21. for (int i =0;i<1000;i++) {
  22. System.out.println(111111);
  23. }
  24. }
  25. }

也可以使用匿名内部类的方式完成两种线程的创建:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/322783?site
推荐阅读
相关标签
  

闽ICP备14008679号