「如何在java中实现线程」java中怎么创建线程

博主:adminadmin 2022-11-24 22:56:06 62

本篇文章给大家谈谈如何在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中实现线程

class MyJoinThread extends Thread

{

public MyJoinThread()

{

super();

}

public MyJoinThread(String name)

{

super(name);

}

public void run()

{

for(int i=0;i10;i++)

{

System.out.println(super.getName()+":"+i);

}

}

}

public class JoinTest

{

public static void main(String[] args)

{

MyJoinThread thread=new MyJoinThread("第1个线程");

thread.start();

for(int i=0;i10;i++)

{

System.out.println(Thread.currentThread().getName()+":"+i);

if(i==5)

{

try

{

thread.join();

}

catch (InterruptedException e)

{

System.out.println("线程被中断");

}

}

}

}

}

java有几种实现线程的方式?

有三种:

(1)继承Thread类,重写run函数

创建:class xx extends Thread{ public void run(){Thread.sleep(1000)//线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源}}

开启线程:对象.start()//启动线程,run函数运行

(2)实现Runnable接口,重写run函数

开启线程:Thread t = new Thread(对象)//创建线程对象t.start()

(3)实现Callable接口,重写call函数

Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。

关于如何在java中实现线程和java中怎么创建线程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。