iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java多线程中线程的两种创建方式及比较代码示例
  • 327
分享到

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

java多线程创建 2023-05-30 20:05:33 327人浏览 八月长安
摘要

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

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

并行与并发:

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

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

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

线程的创建:

(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("火箭发射倒计时:");   }}

--结束END--

本文标题: Java多线程中线程的两种创建方式及比较代码示例

本文链接: https://www.lsjlt.com/news/220866.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java多线程中线程的两种创建方式及比较代码示例
    线程的概念:线程(thread)是指一个任务从头至尾的执行流,线程提供一个运行任务的机制,对于java而言,一个程序中可以并发的执行多个线程,这些线程可以在多处理器系统上同时运行。当程序作为一个应用程序运行时,java解释器为main()方...
    99+
    2023-05-30
    java 多线程 创建
  • java创建多线程的七种方式
    一、继承Thread,重写run方法 通过自定义一个类(这里起名为:MyThread),继承Thread类,重写run方法,最后在main方法中new出MyThread实例,调用这个实例的继承的Thread类的start方法创建一个线程。 ...
    99+
    2023-09-26
    java
  • 关于Java创建线程的2种方式以及对比
    目录1. 继承Thread类2. 实现Runnable接口:创建线程的两种方式对比:线程的完整生命周期:总结Java中两种创建线程的方式: 1. 继承Thread类 重写run()方...
    99+
    2022-11-12
  • Java的线程与进程以及线程的四种创建方式
    目录问题描述case 代码截图数据库DOcontroller定义dao定义mapper实现mysql相关 properties配置数据库数据测试结果具体错误信息解决总结问题描述 这里...
    99+
    2022-11-13
  • Java 中创建线程的几种方式
    Java 是一种面向对象的编程语言,它支持多线程编程。多线程编程是指在一个程序中同时运行多个线程,这些线程可以并行执行,以提高程序的效率和性能。Java 提供了多种创建线程的方法,本文将介绍这些方法以...
    99+
    2023-09-13
    java jvm servlet
  • Java创建多线程的8种方式集合
    目录1、继承Thread类,重写run()方法2、实现Runnable接口,重写run()3、匿名内部类的方式4、带返回值的线程(实现implements Callable<返...
    99+
    2022-11-12
  • 浅谈Java多线程的优点及代码示例
    尽管面临很多挑战,多线程有一些优点使得它一直被使用。这些优点是:资源利用率更好程序设计在某些情况下更简单程序响应更快资源利用率更好想象一下,一个应用程序需要从本地文件系统中读取和处理文件的情景。比方说,从磁盘读取一个文件需要5秒,处理一个文...
    99+
    2023-05-30
    java 多线程 ava
  • Java中Thread和Runnable创建线程的方式对比
    目录一、通过继承Thread创建线程二、实现Runnable创建检查三、比较两种创建方式3.1、多继承3.2、 数据共享3.3、线程池四、源码分析一、通过继承Thread创建线程 通...
    99+
    2022-11-13
  • Java实现线程安全单例模式的五种方式的示例代码
    目录饿汉式枚举单例懒汉式DCL 懒汉式静态内部类懒汉单例饿汉式 饿汉式:类加载就会导致该单实例对象被创建 // 问题1:为什么加 final // 问题2:如果实现了序列化接口, 还...
    99+
    2022-11-13
  • 一篇文中细看Java多线程的创建方式
    前言 Java现在有四种创建的方式:继承Threa类、实现Runnable接口、实现Callable接口、线程池 Thread、Runnable都在java.lang包下;Calla...
    99+
    2022-11-12
  • 很多人竟然不知道Java线程池的创建方式有7种
    目录前言什么是线程池?线程池使用1.FixedThreadPool2.CachedThreadPool3.SingleThreadExecutor4.ScheduledThreadP...
    99+
    2022-11-12
  • Java中实现线程的三种方式及对比_动力节点Java学院整理
    Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建...
    99+
    2023-05-31
    java 线程 实现方式
  • 如何在Java中创建线程通信的四种方式你知道吗
    目录1.1 创建线程1.1.1 创建线程的四种方式1.1.2 Thread类与Runnable接口的比较1.1.3 Callable、Future与FutureTask1.2 线程组...
    99+
    2022-11-12
  • Android在Sqlite3中的应用及多线程使用数据库的建议(实例代码)
    1、首先先建立一个DatabaseHelper类,继承自SQLiteOpenHelper,用于建立数据库,并可更新数据库例如我新建了两张表 public class Database...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作