「java多线程实现方法」java多线程的实现方法
本篇文章给大家谈谈java多线程实现方法,以及java多线程的实现方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java多线程方法有哪些
java实现线程常用到的方法有三种,供参考:
/**
* 方法一:继承Thread类
*
* @author qd
*
*/
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("run方法里面编写业务代码");
}
public static void main(String[] args) {
MyThread myThread = new MyThread();
// 调用start方法启动线程
myThread.start();
MyThread1 myThread1 = new MyThread1();
Thread thread = new Thread(myThread1);
// 调用start方法启动线程
thread.start();
}
}
/**
* 方法二:实现Runnable接口
*
* @author qd
*
*/
class MyThread1 implements Runnable {
@Override
public void run() {
System.out.println("run方法里面编写业务代码");
}
}
/**
* 方法三:实现CallableT接口 优点:可以传参数,有返回值类型
*
* @author qd
*
*/
class MyThread2 implements CallableInteger {
@Override
public Integer call() throws Exception {
return null;
}
}
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多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
java中多线程的实现方法有两种:1.直接继承thread类;2.实现runnable接口;同步的实现方法有五种:1.同步方法;2.同步代码块;3.使用特殊域变量(volatile)实现线程同步;4.使用重入锁实现线程同步;5.使用局部变量实现线程同步
。
其中多线程实现过程中需注意重写或者覆盖run()方法,而对于同步的实现方法中使用较常使用的是利用synchronized编写同步方法和代码块。
关于java多线程实现方法和java多线程的实现方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。