Java多线程中线程的两种创建方式及比较代码示例-创新互联

1.线程的概念:线程(thread)是指一个任务从头至尾的执行流,线程提供一个运行任务的机制,对于java而言,一个程序中可以并发的执行多个线程,这些线程可以在多处理器系统上同时运行。当程序作为一个应用程序运行时,java解释器为main()方法启动一个线程。

专业领域包括网站制作、网站建设、商城建设、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。

2.并行与并发:

(1)并发:在单处理器系统中,多个线程共享CPU时间,而操作系统负责调度及分配资源给它们。

(2)并行:在多处理器系统中,多个处理器可以同时运行多个线程,这些线程在同一时间可以同时运行,而不同于并发,只能多个线程共享CPU时间,同一时间只能运行一个线程。

Java多线程中线程的两种创建方式及比较代码示例

3.线程的创建:

(1)基础概念:java中每个任务就是一个可运行对象,为了创建任务,必须首先定义任务类,任务类必须实现Runnable接口。而线程本质上讲就是便于任务执行的对象。一个线程的执行过程就是一个任务类中run()方法的执行到结束。

(2)通过Runnable接口创建线程:

  a.定义一个任务类实现Runnable接口,实现Runnable接口中的run()方法(run()方法告知系统线程该如何运行),run()方法中定义具体的任务代码或处理逻辑。

  b.定义了任务类后,为任务类创建一个任务对象。

  c.任务必须在线程中执行,创建一个Tread类的对象,将前面创建的实现了Runnable接口的任务类对象作为参数传递给Tread类的构造方法。

  d.调用Tread类对象的start()方法,启动一个线程。它会导致任务的run()方法被执行,当run()方法执行完毕,则线程就终止。

  实例代码:

package com.muzeet.mutithread;

//每个任务都是Runable接口的一个实例,任务是可运行对象,线程是便于任务执行的对象。必须创建任务类,重写run方法定义任务
public class ThreadDemo1 implements Runnable {
 private int countDown = 10;
 @Override
 //重写run方法,定义任务
 public void run() {
  while(countDown-- >0)
  {
   System.out.println("$" + Thread.currentThread().getName() 
     + "(" + countDown + ")");
  }
 }
 //调用start方法会启动一个线程,导致任务中的run方法被调用,run方法执行完毕则线程终止
 
 public static void main(String[] args) {
  Runnable demo1 = new ThreadDemo1();
  
  Thread thread1 = new Thread(demo1);
  Thread thread2 = new Thread(demo1);
  thread1.start();
  thread2.start();
  
  System.out.println("火箭发射倒计时:");  
 }

}

文章标题:Java多线程中线程的两种创建方式及比较代码示例-创新互联
本文URL:http://myzitong.com/article/gsiso.html