什么是java多线程?

如何创建一个线程的生命周期?

如何通过 Runnable创建多线程接口?

多线程有三个特点-----了解线程的工作流程

1.随机性:同一时刻只有一个线程在执行;cpu的快速切换导致认为有多个线程在同时执行。

2.CPU分时调度:CPU分配给每个线程一个时间片。

    eg:比如说,每个线程只能执行2秒,那么2秒后,就会切换下一个线程执行2秒。线程时间不足2秒的就提前终止,超过2秒的就下一次分配到了执行。

  2.1 OS底层算法决定线程的执行顺序:FCFS(先来先执行,执行不完下一次)算法,SJS(第一次没执行完就下一次)

3.线程的状态:5个,新建、就绪、执行、阻塞、终止

   3.1 线程新建会先去申请PCB,分配资源,将其转化为就绪状态插入到队列中,准备执行 

   3.2 线程只有 就绪 才会分配CPU去执行,执行过程因为一些原因会导致程序阻塞,阻塞后需要就绪才能继续执行。

   3.3 执行完后就会终止

**线程启动的方式:启动线程的唯一方法就是通过Thread类的start()实例方法(API手册搜Thread,有两种方法的介绍和代码)。

  线程跑起来的方法是run(),调用Thread类的static()方法时,会自动调用run()。

多线程的创建有两种方式:

1. 建立一个子类,继承Thread类,然后重写run()方法,创建子类对象,调用Thread的static()方法,实现线程的启动。

   多线程,就是创建多个对象,都调用static()方法,就是多线程的实现。

   Thread.currentThread()获取当前的线程对象
 

package Tread;
/*方法一*/
public class Tread01 {
    public static void main(String[] args) {
        Student a=new Student();
        Student b=new Student();
        Student c=new Student();
        a.start();
        b.start();
        c.start();
    }
}
class Student extends Thread{
    public void run() {
      for (int i=0;i<10;i++){
          System.out.println(i+"="+Thread.currentThread());
      }

    }
}

2.通过接口Runnable的run()方法,实现run()方法的重写(run()里放的就是你需要执行的功能代码),

  Thread(Rannable)方法将接口的实力类与Thread对接,再创建多个对象执行。

 

  

package Tread;
/*方法二*/
public class Thread02 {
    public static void main(String[] args) {
        Son a=new Son();
        Thread b=new Thread(a);
        


    }
}
class  Son  implements Runnable{
    @Override
    public void run() {
        for(int i=0;i<10;i++){
            System.out.println(i+Thread.currentThread().getName());
        }
    }
}

 

这个问题大了!

1.多线程的概念不只在Java中,生活中都随处可见,比如食堂打饭。

2.Java中多线程几个点:线程基础、生命周期、线程同步、线程池

3.一个线程的生命周期:5个阶段,包括:新建、就绪、运行、阻塞、销毁。

4.如何创建,这个不贴代码了,随便一搜都很多

多线程的意思就是多个工作可以同时处理,或者一个大的工作分成多个小的工作由多个线程同时处理,以提高工作效率和电脑资源的利用率。

举个例子,老师让抄写100遍课文,班里有50个同学,那么一个人只需抄写2遍。如果只有1个人,那这个人就得抄写100遍。1个人就相当于1个线程,当然这只是一个方面的例子。

如有帮助,请采纳一下,谢谢。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632