java多线程中执行多个程序的实例分析

 更新时间:2021年02月07日 15:30:38   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于java多线程中执行多个程序的实例分析内容,有需要的朋友们可以学习参考下。

我们知道多线程因为同时处理子线程的能力,对于程序运行来说,能够达到很高的效率。不过很多人对于多线程的执行方法还没有尝试过,本篇我们将为大家介绍创建线程的方法,在这个基础上,对程序执行多条命令的方法进行展示。下面我们就来看看具体的操作步骤吧。

1、创建线程对象我们需要用到Thread类,该类是java.lang包下的一个类,所以调用时不需要导入包。下面我们先创建一个新的子类来继承Thread类,然后通过重写run()方法(将需要同时进行的任务写进run()方法内),来达到让程序同时做多件事情的目的。

import java.awt.Graphics;
import java.util.Random;
public class ThreadClass extends Thread{
public Graphics g;
//用构造器传参的办法将画布传入ThreadClass类中
public ThreadClass(Graphics g){
this.g=g;
}
public void run(){
//获取随机的x,y坐标作为小球的坐标
Random ran=new Random();
int x=ran.nextInt(900);
int y=ran.nextInt(900);
for(int i=0;i<100;i++){
g.fillOval(x+i,y+i,30,30);
try{
Thread.sleep(30);
}catch(Exception ef){
}
}
}
}

2、在主类的按钮事件监听器这边插入这样一段代码,即每按一次按钮则生成一个ThreadClass对象。

public void actionPerformed(ActionEvent e){
ThreadClass thc=new ThreadClass(g);
thc.start();
}

3、在这里我们生成ThreadClass对象并调用start()函数后,线程被创建并进入准备状态,每个线程对象都可以同时独立执行run()方法中的函数,当run()方法中的代码执行完毕时线程自动停止。

java8多线程运行程序实例

public class Main {
  //method to print numbers from 1 to 10
  public static void printNumbers() {
    for (int i = 1; i <= 10; i++) {
      System.out.print(i + " ");
    }
    //printing new line
    System.out.println();
  }
 
  //main code	
  public static void main(String[] args) {
    //thread object creation
    Thread one = new Thread(Main::printNumbers);
    Thread two = new Thread(Main::printNumbers);
 
    //starting the threads
    one.start();
    two.start();
  }
}

输出

1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10

到此这篇关于java多线程中执行多个程序的实例分析的文章就介绍到这了,更多相关java多线程中执行多个程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文搞懂Java中的注解和反射

    一文搞懂Java中的注解和反射

    这篇文章主要给大家介绍了关于Java中注解和反射的原理及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Java设计模式之Strategy模式

    Java设计模式之Strategy模式

    Strategy模式即策略模式,就是将一个算法的不同实现封装成一个个单独的类,这些类实现同一个接口,使用者直接使用该接口来访问具体的算法。这个样子,使用者就可以使用不同的算法来实现业务逻辑了。
    2016-07-07
  • 使用JSON.toJSONString格式化成json字符串时保留null属性

    使用JSON.toJSONString格式化成json字符串时保留null属性

    这篇文章主要介绍了使用JSON.toJSONString格式化成json字符串时保留null属性,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java中的FutureTask源码解析

    Java中的FutureTask源码解析

    这篇文章主要介绍了Java中的FutureTask源码解析,FutureTask是一个可取消的异步计算,这个类是Future的实现类,有开始和取消一个计算的方法,如果一个计算已经完成可以查看结果,需要的朋友可以参考下
    2023-12-12
  • MybatisPlus处理四种表与实体的映射及id自增策略分析

    MybatisPlus处理四种表与实体的映射及id自增策略分析

    在最近的工作中,碰到一个比较复杂的返回结果,发现简单映射已经解决不了这个问题了,只好去求助百度,学习mybatis表与实体的映射应该怎么写,将学习笔记结合工作碰到的问题写下本文,供自身查漏补缺,同时已被不时之需
    2022-10-10
  • Java中可变长度参数代码详解

    Java中可变长度参数代码详解

    这篇文章主要介绍了Java中可变长度参数代码详解,涉及了实参个数可变的定义方法,数组包裹实参等几个问题,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • Java 数据库时间返回前端显示错误(差8个小时)的解决方法

    Java 数据库时间返回前端显示错误(差8个小时)的解决方法

    本文主要介绍了Java 数据库时间返回前端显示错误(差8个小时)的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • springboot加载复杂的yml文件获取不到值的解决方案

    springboot加载复杂的yml文件获取不到值的解决方案

    这篇文章主要介绍了springboot加载复杂的yml文件获取不到值的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 使用kotlin集成springboot开发的超详细教程

    使用kotlin集成springboot开发的超详细教程

    目前大多数都在使用java集成 springboot进行开发,本文演示仅仅将 java换成 kotlin,其他不变的情况下进行开发,需要的朋友可以参考下
    2021-09-09
  • Mybatis中的Criteria条件查询方式

    Mybatis中的Criteria条件查询方式

    这篇文章主要介绍了Mybatis中的Criteria条件查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论