Java线程总结(一)

在java中并发机制很重要,并发机制可以使程序执行多个线程,每一个线程对应一个功能,并以其他线程并发执行,在单线程中,代码按照调用顺序依次往下执行,要实现多线程就需要一个进程同时完成多段代码的操作。

多线程:即是一个程序运行时产生不单单一个线程

并发:CPU通过调度算法让用户觉得时同时执行,但不是真正的同时。

实现多线程的两种方式

1、继承Thread类,重写run()方法,在main方法调用start方法,如果不调用start方法线程是不会启动的。(currentThread返回的是当前正在执行的线程对象)代码示例如下

运行输出

第二种方式:实现Runnable接口的类然后实例化该类对象,使用构造方法创建Thread实例,调用Thread中的start()方法启动线程。(这里定义的是匿名内部类。)

 

输出结果

实现Runnable接口的类,使用Runnable接口启动线程主要流程如下:实现Runnable接口的类,实例化该类的对象,建立了Runnable对象,创建Thread实例,使用实例调用Thread类的start方法启动线程

 

 

线程的操作:线程的加入,(线程强制运行)线程强制运行期间,其他线程无法运行,需要等待加入的线程结束后才能开始继续运行其他线程。

定义一个实现Runnable接口的类

class ThreadJionDemo1 implements Runnable{

   @Override

   public void run() {

      for (int i = 0; i < 150; i++) {

   System.out.println(Thread.currentThread().getName()+" "+i);

      }

   }

}

主方法调用

public static void main(String[] args) {

      ThreadJionDemo1 t1 = new ThreadJionDemo1();

      Thread th = new Thread(t1,"加入的线程A");

      th.start();//启动线程

      for (int i = 0; i < 1500; i++) {

          if(i>3){

             try {

                th.join();//线程加入,强制运行

             } catch (InterruptedException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

             }

             System.out.println("主线程运行");

          }

      }

   }

}

运行输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值