iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java如何实现多线程
  • 949
分享到

java如何实现多线程

java教程java 2019-06-27 18:06:44 949人浏览 猪猪侠
摘要

Java多线程是Java高级特性之一,通过多线程,我们可以实现多任务同时协同工作,在一定情况下提升程序效率,但是Java多线程仍要慎重使用。 (推荐学习:java课程)首先第一点,Java多线程需要较高的编码技巧,一

Java多线程是Java高级特性之一,通过多线程,我们可以实现多任务同时协同工作,在一定情况下提升程序效率,但是Java多线程仍要慎重使用。 (推荐学习:java课程)

首先第一点,Java多线程需要较高的编码技巧,一旦使用不当就会造成程序错误,线程间恶意竞争死,导致程序卡死。

其二,滥用多线程可能会造成某些关键参数紊乱,这时需要做好线程间的同步和锁管理。

其三,线程的切换是需要额外的代价的,也就是常说的“上下文切换”,如果使用不当,不仅不会提高效率,反而会造成效率的急剧降低。

Java多线程的实现方式

继承Thread来实现多线程

Java提供了一个超类Thread给我们来extends,一旦继承了它,就可以通过override 其中的run方法,来实现多线程,具体代码如下:

package com.dingtao.test;
import java.io.*;
 
public class MyThread extends Thread{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }
 
    public static void main(String[] args) throws IOException {
        Thread t1 = new MyThread();
        Thread t2 = new MyThread();
        t1.start();
        t2.start();
    }
}

通过实现Runnable接口来实现

因为对于一些类来说,他们不能继承Thread来实现多线程,因为Java规定同时只能继承一个超类,但是却可以同时实现多个接口,因此Runnable就更格外受欢迎。具体代码如下:

package com.dingtao.test;
import java.io.*;
 
public class MyThread implements Runnable{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }
 
    public static void main(String[] args) throws IOException {
        Thread t1 = new Thread(new MyThread());
        Thread t2 = new Thread(new MyThread());
        t1.start();
        t2.start();
    }
}

通过Callable来实现一个Thread

具体代码如下:

package com.dingtao.test;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
 
public class MyThread implements Callable{
    public static void main(String[] args){
        MyThread t1 = new MyThread();
        FutureTask future = new FutureTask(t1);
        new Thread(future,"呵呵哒").start();
    }
    @Override
    public Integer call() throws Exception {
        System.out.println(Thread.currentThread().getName());
        return null;
    }
}

--结束END--

本文标题: java如何实现多线程

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

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

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

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

下载Word文档
猜你喜欢
  • java如何实现多线程
    Java多线程是Java高级特性之一,通过多线程,我们可以实现多任务同时协同工作,在一定情况下提升程序效率,但是Java多线程仍要慎重使用。 (推荐学习:java课程)首先第一点,Java多线程需要较高的编码技巧,一...
    99+
    2019-06-27
    java教程 java
  • java多线程如何实现
    java实现多线程的方法:(推荐:java视频教程)方式一:继承Thread类的方式创建一个继承于Thread类的子类重写Thread类中的run():将此线程要执行的操作声明在run()创建Thread的子类的对象调用此对象的start(...
    99+
    2022-02-13
    java
  • Java如何实现多线程、线程同步
    这篇文章主要介绍了Java如何实现多线程、线程同步的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现多线程、线程同步文章都会有所收获,下面我们一起来看看吧。1 多线程1.1 进程进程:是正在运行的程...
    99+
    2023-06-30
  • java如何实现多线程Thread
    这篇文章将为大家详细讲解有关java如何实现多线程Thread,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。start()我们先来看看API中对于该方法的介绍:使该线程开始执行;Java 虚拟机调用该线程...
    99+
    2023-05-30
    java thread
  • java多线程中如何实现线程并发库
    本篇文章给大家分享的是有关java多线程中如何实现线程并发库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。多线程之线程并发库原子性操作类java.util.concurrent...
    99+
    2023-06-19
  • Java中的多线程如何实现线程通信
    这篇文章将为大家详细讲解有关Java中的多线程如何实现线程通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java多线程中线程间的通信一、使用while方式来实现线程之间的通信packag...
    99+
    2023-05-31
    java 多线程 线程通信
  • Java如何实现UDP多线程在线咨询
    这篇文章主要介绍Java如何实现UDP多线程在线咨询,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。具...
    99+
    2023-06-14
  • 什么是Java多线程,如何实现
    目录什么是进程?什么是线程?什么是线程安全?添加一个状态呢?如何确保线程安全?synchronizedlock总结什么是进程? 电脑中时会有很多单独运行的程序,每个程序有一个独立的进...
    99+
    2022-11-12
  • Java多线程如何实现定时器
    这篇文章主要讲解了“Java多线程如何实现定时器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java多线程如何实现定时器”吧!一. 定时器概述1. 什么是定时器定时器是一种实际开发中非常常...
    99+
    2023-07-05
  • java中多线程的实现
    第一种方式,定义Thread类的子类://第一种方法 public class MyThread extends Thread { @Override public void run() { String n...
    99+
    2020-01-08
    java教程 java 多线程 实现
  • Java多线程CountDownLatch的实现
    介绍 CountDownLatch是一个同步辅助类,它允许一个或多个线程一直等待直到其他线程执行完毕才开始执行。 用给定的计数初始化CountDownLatch,其含义是要被等待执行...
    99+
    2022-11-13
  • Java如何实现多线程循环打印
    这篇文章将为大家详细讲解有关Java如何实现多线程循环打印,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。wait-notify循环打印问题可以通过设置目标值,每个线程想打印目标值,如果拿到锁后这次轮到的数...
    99+
    2023-06-22
  • java多线程Synchronized如何实现可见性
    这篇文章主要为大家展示了“java多线程Synchronized如何实现可见性”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java多线程Synchronized如何实现可见性”这篇文章吧。Sy...
    99+
    2023-06-21
  • Java实现UDP多线程在线咨询
    本文实例为大家分享了Java实现UDP多线程在线咨询,供大家参考,具体内容如下 1.发送的线程 import java.io.BufferedReader; import jav...
    99+
    2022-11-12
  • Java—实现多线程程序 | 入门
      目录 一、前言 二、基本概念 进程  线程 三、Java多线程实现 java.lang.Thread类 获取线程名字及对象 获取main进程名 Thread currentThread() 四、线程优先级  设置优先级  一、前言 前...
    99+
    2023-09-07
    java 开发语言 Java多线程程序 多线程 Thread类
  • Java实现多线程聊天室
    本文实例为大家分享了Java实现多线程聊天室的具体代码,供大家参考,具体内容如下 之前呢已经用单线程的方式来实现了聊天室,但其实它的功能并不齐全,下面用多线程来实现,功能会比单线程聊...
    99+
    2022-11-12
  • Java中多线程怎么实现
    这篇文章主要讲解了“Java中多线程怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中多线程怎么实现”吧!线程是一些可以并行的,独立的执行的代码.之前我编的程序都只能做一件事情...
    99+
    2023-06-03
  • java如何实现多线程的顺序执行
    场景 编写一个程序,启动三个线程,三个线程的name分别是A,B,C;,每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC... 使用 synchronized 实现 ...
    99+
    2022-11-12
  • 如何在Java中使用FutureTask实现多线程
    如何在Java中使用FutureTask实现多线程?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、FutureTask的理解FutureTask属于java.util.con...
    99+
    2023-06-15
  • Java多线程环境下如何实现死锁
    这篇文章主要介绍Java多线程环境下如何实现死锁,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、死锁产生的条件互斥:一次只有一个进程可以使用一个资源。其他进程不能访问已分配给其他进程的资源。不可抢占:不能抢占进程已...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作