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

时间:2022-12-08 15:24:02

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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对象。

?
1
2
3
4
public void actionPerformed(ActionEvent e){
ThreadClass thc=new ThreadClass(g);
thc.start();
}

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

java8多线程运行程序实例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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多线程中执行多个程序内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.py.cn/java/jichu/23710.html