更新时间:2021-05-28 15:52:16 来源:极悦 浏览1545次
在 Java 中,并发机制非常重要,但并不是所有程序语言都支持线程。在以往的程序中,多以一个任务完成以后再进行下一个任务的模式进行,这样下一个任务的开始必须等待前一个任务的结束。Java 语言提供了并发机制,允许开发人员在程序中执行多个线程,每个线程完成一个功能,并与其他线程并发执行。这种机制被称为多线程。
既然多线程这么复杂,那么它在操作系统中是怎样工作的呢?其实,Java中的多线程在每个操作系统中的运行方式也存在差异,在此以Windows操作系统为例介绍其运行模式。
Windows系统是多任务操作系统,它以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程,也就是正在执行的程序。图1所示为Windows 7系统下使用任务管理器查看进程的结果。
图1 查看 Windows 7 的进程
系统可以分配给每个进程一段有限的执行CPU的时间(也称为CPU时间片),CPU在这段时间中执行某个进程,然后下一个时间段又跳到另一个进程中去执行。由于CPU切换的速度非常快,给使用者的感受就是这些任务似乎在同时运行,所以使用多线程技术后,可以在同一时间内运行更多不同种类的任务。
图2的左图是单线程环境下任务1和任务2的执行模式。任务1和任务2是两个完全独立、互不相关的任务,任务1是在等待远程服务器返回数据,以便进行后期的处理,这时CPU一直处于等待状态,一直在“空运行”。如果任务2是在5秒之后被运行,虽然执行任务2用的时间非常短,仅仅是1秒,但必须在任务1运行结束后才可以运行任务2。由于运行在单任务环境中,所以任务2有非常长的等待时间,系统运行效率大幅降低。
单任务的特点就是排队执行,也就是同步,就像在cmd中输入一条命令后,必须等待这条命令执行完才可以执行下一条命令一样。这就是单任务环境的缺点,即CPU利用率大幅降低。
图2 单线程和多线程执行模式
图2的右侧则是多线程环境下的执行模式。从中可以发现,CPU完全可以在任务1和任务2之间来回切换,使任务2不必等到5秒再运行,系统的运行效率大大得到提升。这就是要使用多线程技术、要学习多线程的原因。
零基础学自学linux,可以学习极悦的Java多线程学习视频,线程是进程中的一个独立控制单元,线程在控制着进程的执行,一个进程中至少有一个线程。多线程可以更好地利用cpu的资源,线程之间还能进行数据共享。在Java中,一个线程是指进程中的一个执行流程,一个进程可以运行多个线程,Java中每个线程都有一个调用栈,即使不在程序中创建任何新的线程,也有一个main()方法运行在一个线程内,称为主线程,一旦创建一个新的线程,就产生一个新的调用栈。通过该专题课程的系统学习,让大家一次性搞明白Java中的多线程。
课程目标:通过本系列课程的学习,一次性搞明白多线程,提升自身技术能力与价值。
适用人群:具有Java基础的人群,希望系统学习Java多线程的人群。
以上就是极悦小编介绍的"Java多线程视频教程全套基础学习下载",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习