这篇文章主要讲解了“java多线程知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java多线程知识点有哪些”吧!1 并发执行应用程序可以同时运行(一边听歌,一边玩游戏)。 在应用程序中,不同的程序块也是可以同时运行,这种多个程序块同时运行的现象被称为 并发执行。 【在多任务操作系统中,表面上是支持并发执行的,所有的应用程序都是由CPU执行的,对于一个CPU而言,在某个时间点只能运行一个程序。由于CPU运行很快,感觉是并发执行的】2 进程在一个操作系统中,每个独立执行的程序都可称为一个进程。3 线程 在一个进程中还可以有多个执行单元同时运行。这些执行单元可以看作程序的一条条线索,被称为线程。 【当一个java程序启动时,就会产生一个进程,该进程会默认创建一个线程,在这个线程上会运行main()方法中的代码】4 多线程程序多段代码交替运行。 【看似是同时执行,其实和进程一样,由CPU轮流执行。】5 线程的创建1.继承Thread类 2.实现Runnable接口6 后台线程新创建的线程默认都是前台线程。 【只要有一个前台线程在运行,这个进程就不会结束,如果一个进程只有后台线程运行,这个进程就会结束】**7 线程的生命周期及状态转换 **在Java中,任何对象都有生命周期,线程也不例外。 线程整个生命周期分为5个阶段: 8 线程的调度 JVM会按照特定的机制为程序中的每个线程分配CPU的使用权。这种机制被称为线程的调度。 在计算机中,线程调度有两种模型: 1.分时调度模型 2.抢占式调度模型 JVM默认 香港云主机采用抢占式调度模型,大多数情况下程序员不需要去关心它。8.1 线程的优先级线程的优先级用1~10之间的正数表示,数字越大优先级越高。 [处于就绪状态的每个线程都有自己的优先级] main线程具有普通优先级。(5) 【可以通过Thread类的setPriority方法对其进行设置】8.2 线程休眠使正在执行的线程暂停,将CPU让给别的线程。这是可以使用静态方法sleep.(该方法让当前正在执行的线程暂停一段时间,进入休眠等待状态。) sleep方法声明抛出InterruptedException异常。因此在调用该方法时应该捕获异常。 注意:sleep时静态方法,只能控制当前正在运行的线程休眠。而不能控制其他线程休眠。8.3 线程让步和sleep类似,区别在于yield方法不会阻塞该线程。只是将线程转换成就绪状态。让系统的调度器重新调度一次。 【当某个线程调用yield()方法之后,只有与当前线程优先级相同或者更高的线程才能获得执行的机会】8.4 线程插队当在某个线程中调用其他线程的join()方法时,调用的线程将被阻塞,知道被join()方法加入的线程执行完后它才会继续运行。9 多线程同步 前提:多个线程去访问同一个资源时,会引发一些安全问题。 解决:实现多线程同步,即限制某个资源在同一时刻只能被一个线程访问。9.1 同步代码块 Object lock = new Object(); 注意:锁对象的创建代码不能放到run()方法中。9.2 同步方法 被synchronized修饰的方法在某一时刻只允许一个线程访问,访问该方法的其他线程都会发生阻塞,直到当前线程访问完毕后,其他线程才有机会执行方法。感谢各位的阅读,以上就是“java多线程知识点有哪些”的内容了,经过本文的学习后,相信大家对java多线程知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!
本篇内容介绍了“Ubuntu怎么开启root用户”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况 香港云主机吧!希望大家仔细阅读,能够学有所成!为root用户配置密码即可“Ubuntu怎么开启roo…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。