「java多线程的两种方法」java多线程的两种实现方法
今天给各位分享java多线程的两种方法的知识,其中也会对java多线程的两种实现方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java多线程有几种实现方法
继承Thread类来实现多线程:
当我们自定义的类继承Thread类后,该类就为一个线程类,该类为一个独立的执行单元,线程代码必须编写在run()方法中,run方法是由Thread类定义,我们自己写的线程类必须重写run方法。
run方法中定义的代码为线程代码,但run方法不能直接调用,如果直接调用并没有开启新的线程而是将run方法交给调用的线程执行
要开启新的线程需要调用Thread类的start()方法,该方法自动开启一个新的线程并自动执行run方法中的内容
请点击输入图片描述
结果:
请点击输入图片描述
*java多线程的启动顺序不一定是线程执行的顺序,各个线程之间是抢占CPU资源执行的,所有有可能出现与启动顺序不一致的情况。
CPU的调用策略:
如何使用CPU资源是由操作系统来决定的,但操作系统只能决定CPU的使用策略不能控制实际获得CPU执行权的程序。
线程执行有两种方式:
1.抢占式:
目前PC机中使用最多的一种方式,线程抢占CPU的执行权,当一个线程抢到CPU的资源后并不是一直执行到此线程执行结束,而是执行一个时间片后让出CPU资源,此时同其他线程再次抢占CPU资源获得执行权。
2.轮循式;
每个线程执行固定的时间片后让出CPU资源,以此循环执行每个线程执行相同的时间片后让出CPU资源交给下一个线程执行。
java多线程有几种实现方式 分别是什么
基本上有两种,第一种是继承Thread类,然后重写run方法,来实现新线程类的创建。第二种是写一个类实现Runnable()接口,然后将这个类传给一个Thread对象来创建线程对象。这两种方法本质是一样的。因为Thread类也实现了Runnable接口。
java实现多线程的两种方法
Thread t1=new Thread(){
public void run(){
System.out.println("第一种方法");
}
};
t1.start();
Thread t2=new Thread(new Runnable() {
public void run() {
System.out.println("第二种方法,可实现同类下各线程数据共享");
}
});
t2.start();
java 如何实现多线程
java中多线程的实现方式有两种,一种是继承java.lang.Thread类,另一种是实现java.lang.Runnable接口。下面是两种方式的简单代码。继承Thread类方式:import java.lang.Thread; //用集成Thread类方式实现多线程。 public class Test{ public static void main(String arg[]){ T t1=new T(); T t2=new T(); //更改新线程名称 t1.setName("t1"); t2.setName("t2"); //启动线程 t1.start(); t2.start(); } } class T extends Thread{ //重写run()方法 public void run(){ System.out.println(this.getName()); } }输出结果为:t1t2实现Runnable接口方式:在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。import java.lang.*; //用实现Runnable接口的方式实现多线程。 public class Test{ public static void main(String arg[]){ T t1=new T(); T t2=new T(); //一定要实例化Thread对象,将实现Runnable接口的对象作为参数传入。 Thread th1=new Thread(t1,"t1"); Thread th2=new Thread(t2,"t2"); //启动线程 th1.start(); th2.start(); } } class T implements Runnable{ //重写run()方法 public void run(){ System.out.println(Thread.currentThread().getName()); } }输出结果为:t1t2public void run()方法是JAVA中线程的执行体方法,所有线程的操作都是从run方法开始,有点类似于main()方法,即主线程。
java多线程都有几种方式实现??
java中实现多线程的方法有两种,1:继承Tread类;2:实现Runable接口pre t="code" l="java"1、
public class MyThread extends Thread{
//重写run()方法
public void run(){
//多线程要做的事
}
public static void main(String args[]){
MyThread m1 = new MyThread();
MyThread m2 = new MyThread();
m1.start();
m2.start();
}
}
2、
public class NThread implements Runable{
//实现run()方法
public void run(){
//多线程要做的事
}
public static void main(String args[]){
NThread nt = new NThread();
new Thread(nt,"nt1_name").start();
new Thread(nt,"nt2_name").start();
}
}
java多线程的两种方法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java多线程的两种实现方法、java多线程的两种方法的信息别忘了在本站进行查找喔。
发布于:2022-12-28,除非注明,否则均为
原创文章,转载请注明出处。