Java多线程概念知识点有哪些

技术Java多线程概念知识点有哪些这篇文章主要介绍“Java多线程概念知识点有哪些”,在日常操作中,相信很多人在Java多线程概念知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

本文主要介绍“Java多线程的概念知识点有哪些”。在日常操作中,相信很多人对Java多线程的概念知识点有什么疑惑。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解答“Java多线程的概念知识点有哪些”的疑惑!接下来,请和边肖一起学习!

00-1010数据一致性通过锁定来保证。也就是说,当一个线程访问某个数据时,数据受到锁定操作的保护,其他线程在锁定过程中无法访问。

线程安全:

当多个线程访问共享变量时,需要锁定以确保数据同步,这增加了程序的复杂性。避免数据同步的一种方法是不共享变量,例如使用局部变量和ThreadLocal。

00-1010系统为线程分配CUP使用权的过程

协作线程调度

线程的执行时间由线程本身控制。当它完成自己的执行时,它主动通知操作系统切换到另一个线程执行。优点是实现简单,线程可以知道自己的操作,不存在线程同步问题。缺点是线程的执行时间是不可控的,如果一个线程有问题,它可能会一直被阻塞在那里。

抢先线程调度

每个线程的执行时间都是由操作系统分配的,线程的切换不是由线程本身决定的(在Java中,Thread.yield()可以放弃执行时间,但不能得到执行时间)。线程的执行时间可以由系统控制,没有线程会导致进程阻塞。

00-1010可以设置线程的优先级,这样一些线程可以先尽可能多地执行多个执行(Java中有10个线程的优先级来自Thread。线程的最小优先级。MAX_PRIORITY)。当两个线程同时就绪时,优先级越高,执行起来就越容易。但是,优先级并不可靠,因为Java线程是通过映射到本机线程来实现的,所以线程调度仍然依赖于操作系统。

00-1010创建一个尚未启动的新线程。

可运行):可运行包括操作系统中的运行和就绪。处于这种状态的线程可能正在运行,或者正在等待中央处理器为其分配执行时间。线程创建后,其他线程调用该线程的start方法,所以线程在可运行线程池中,变得可运行,只是CPU分配执行时间,已经获得运行所需的其他资源。

等待):无限期(:)处于这种状态的线程不会被分配CPU执行时间,而是等待被其他线程显示和唤醒。例如,不设置超时的Object.wait()方法和Thread.join()方法,以及LockSupport.park()方法。

定时等待):)处于这种状态的线程不会被分配CPU执行时间,但会在一定时间后被系统自动唤醒。例如,设置了超时的Thread.sleep()、Object.wait()和thread.join()、lock support . park nano()和lock support . park直至()。

阻塞):线程被阻塞。与等待的区别在于,阻塞线程正在等待一个排他锁。

阻塞状态是指由于某种原因放弃使用CPU的权利,暂时停止执行,直到线程进入就绪状态,这样才有机会转入运行状态。

已终止):线程完成执行或异常退出run()方法,线程结束其生命周期。

00-1010 1.等待阻塞(无限期等待):运行的线程执行wait()方法,释放占用的资源,JVM将线程放入等待池。进入此状态后,线程不会自动唤醒,只有在其他线程调用notify()或notifyAll()方法时才会唤醒。

2.在同步阻塞:中运行的线程获取对象的同步锁时,如果同步锁被其他线程占用,JVM会将该线程放入锁池。3.在阻塞(限时等待)3360中运行的其他线程已经执行了join()或sleep()方法,或者发起了I/O请求,JVM会将该线程置于阻塞状态。当睡眠()状态超时时。

至此,“Java多线程概念的知识点有哪些”的学习就结束了,希望能解决大家的疑惑。理论和实践的结合可以帮助你学得更好。去试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115171.html

(0)

相关推荐

  • Java流程控制图

    技术Java流程控制图 Java流程控制图package scanner;import java.util.Scanner;public class Demo01 {// 创建一个扫描对象,用于接

    礼包 2021年11月24日
  • 基于alpine构建jdk镜像遇到的坑

    技术基于alpine构建jdk镜像遇到的坑 基于alpine构建jdk镜像遇到的坑alpine常用于作为docker的基础镜像,因为它很小,功能精简,基本上没有啥漏洞,记录一下最近用alpine作为基础

    礼包 2021年11月11日
  • shellmysql脚本使用教程(shell脚本mysql数据设置分隔符)

    技术如何实现mysql数据收集shell脚本小编给大家分享一下如何实现mysql数据收集shell脚本,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! #!/bin/shINTERVAL=5PREFIX=

    攻略 2021年12月20日
  • 最新单机游戏排行榜,十大好玩的单机游戏有哪些

    技术最新单机游戏排行榜,十大好玩的单机游戏有哪些人人心中都有一个武侠江湖梦推荐几款高品质的武侠单机游戏最新单机游戏排行榜!对于国产单机游戏来说,2020年是一个国产单机大作云集的年度,其中尤以武侠类为甚,口碑爆棚的《天地

    生活 2021年10月26日
  • Hibernate中Criteria有什么用

    技术Hibernate中Criteria有什么用这篇文章主要介绍Hibernate中Criteria有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!现在对Hibernate Criteria

    攻略 2021年12月8日
  • 生绿豆芽,家庭自己生绿豆芽的妙招

    技术生绿豆芽,家庭自己生绿豆芽的妙招炎热的夏天生绿豆芽,绿豆是解暑最好的食物之一,除了绿豆汤之外,还可以吃绿豆芽哦,夏天温度高,绿豆好出芽,那么在这里分享一下自己制作绿豆芽的妙招。1、绿豆两小把,洗净,加清水泡一晚上。2

    生活 2021年10月24日