当前位置: 首页 > news >正文

成都三合一网站建设建筑工程网络图怎么画

成都三合一网站建设,建筑工程网络图怎么画,嘉兴港区建设局网站,怎样交换友情链接进程是资源分配#xff08;内存地址、文件 I/O 等#xff09;的基本单位#xff0c;线程是执行调度#xff08;处理器资源调度#xff09;的基本单位#xff1b; Loom 项目若成功为 Java 引入纤程#xff08;Fiber#xff09;#xff0c;则线程的执行调度单位可能变为…进程是资源分配内存地址、文件 I/O 等的基本单位线程是执行调度处理器资源调度的基本单位 Loom 项目若成功为 Java 引入纤程Fiber则线程的执行调度单位可能变为纤程 在 Java 里实现并发基本都是基于线程的 文章目录1. 线程的实现2. Java 线程调度3. 状态转换1. 线程的实现 Java 语言提供了不同硬件和操作系统平台下对线程操作的统一处理每个调用过 start() 且还未结束的 java.lang.Thread 类的实例代表一个线程 Native 方法没有使用或无法使用平台无关的手段来实现或者为了执行效率使用 Native 方法 线程实现的三种方式 内核线程实现1:1 实现Kernel-Level ThreadKLT直接由操作系统内核支持的线程由内核完成线程切换内核通过调度器Scheduler进行线程调度并将线程任务映射到各个处理器上支持多线程的内核称为多线程内核 轻量级进程Light Weight ProcessLWP内核线程的高级接口通常意义上的线程每个轻量级进程由一个内核线程支持 局限性每个线程操作创建、析构、同步都需要进行系统调用需要在用户态和内核态之间来回切换代价较高消耗一定的内核资源内核线程的占空间系统支持轻量级进程的数量是有限的 用户线程实现1:N 实现User ThreadUT广义上的用户线程指所有非内核线程的线程狭义上的用户线程指完全建立在用户空间的线程库上系统内核不能感知到存在和如何实现的线程 若程序实现得当用户线程不需要切换到内核态操作可以非常快速且低消耗能支持规模更大的线程数量如部分高性能数据库中的多线程 局限性没有系统内核的支援所有线程操作创建、销毁、切换、调度都需要用户程序自己处理阻塞处理、线程映射到处理器等问题的处理非常复杂导致用户线程的视线通常比较复杂 除了有明确需求不支持多线程的操作系统下的多线程程序一般应用程序不倾向使用用户线程Java、Ruby 等语言都曾经使用并弃用用户线程但近年来一些以高并发为买点的新语言Golang、Erlang 等又普遍支持了用户线程 混合实现N:M 实现将内核线程与用户线程一起使用的实现方式UNIX 系列系统如 Solaris、HP-UX 等提供了混合线程模型 用户线程建立在用户空间线程的创建、切换、析构等操作廉价可支持大规模的用户线程并发 操作系统支持的轻量级进程作为用户线程和内核线程的桥梁可以使用内核的线程调度及处理器映射大大降低了整个进程被阻塞的风险 Java 线程的实现 JDK 1.2 以前的 Classic VM 是基于绿色线程Green Threads实现的JDK 1.3 起商用 JVM 的线程普遍以内核线程实现 HotSpot VM 的每一个线程直接映射到一个操作系统原生线程来实现中间没有额外的间接结构HotSpot 不会去干涉线程调度可设置线程优先级给操作系统提供调度建议何时冻结、何时唤醒线程、给线程分配多少处理器执行时间、把线程安排给哪个处理器核心执行等都是操作系统全权负责的 两个例外 Java ME 的 CLDC HotSpot ImplementationCLDC-HI同时支持用户线程实现和混合模型当 Java 线程执行一个阻塞调用时CLDC-HI 会为之单独开一个内核线程然后调度执行其他 Java 线程Solaris 平台的 HotSpot VM 支持内核线程实现通过 Bound threads 或 Alternate Libthread和混合模式通过 LWP/Thread Based Synchronization通过 -XX:UseLWPSynchronization默认和 -XX:UseBoundThreads 指定 线程模型只对线程的并发规模和操作成本产生影响对 Java 程序的编码和运行过程的差异是透明的 2. Java 线程调度 线程调度系统为线程分配处理器使用权的过程主要分为协同式Cooperative Threads-Scheduling线程调度和抢占式Preemptive Threads-Scheduling线程调度 协同式Cooperative Threads-Scheduling线程调度线程的执行时间由线程本身控制由线程主动通知系统切换到另外的线程Lua 中的协同例程 实现简单没有线程同步问题切换操作对线程自己是可知的线程执行的时间不可控可能会导致整个系统一直阻塞在一个线程中 抢占式Preemptive Threads-Scheduling线程调度每个线程由系统来分配执行时间线程的切换不由线程本身决定Java 的 Thread::yield 可以主动让出执行时间但不能主动获取执行时间 不会有一个线程导致整个进程阻塞的问题即使进程出现问题也不会影响到整个操作系统 线程优先级可以给操作系统一些线程调度建议但并不是一项稳定的调优手段不同操作系统的不同优先级会变得相同且系统可能自行改变优先级根据现场执行频率 3. 状态转换 Java 语言定义的 6 中线程状态 新建New创建后尚未启动的线程运行Runnable正在执行的线程、正在等待操作系统为它分配执行时间的线程包括操作系统线程状态中的 Running 和 Ready无限期等待Waiting等待被其他线程显示唤醒的线程该线程不会被操作系统分配处理器时间 Object::wait()没有设置 timeout 参数Thread::join()没有设置 timeout 参数LockSupport::park() 限期等待Timed Waiting在一定时间后自动由系统唤醒该线程不会被操作系统分配处理器时间 Thread::sleep()Object::wait()设置了 timeoutThread::join()设置了 timeoutLockSupport::parkNanos()LockSupport::parkUntil() 阻塞Blocked线程被阻塞在等待获得一个排它锁在另一个县城放弃这个锁时发生程序在等待进入一个同步区域结束Terminated已终止的线程线程已经结束执行 上一篇「JVM 高效并发」Java 内存模型 PS感谢每一位志同道合者的阅读欢迎关注、评论、赞 参考资料 [1]《深入理解 Java 虚拟机》
http://www.hkea.cn/news/14467202/

相关文章:

  • 广州网站建设培训网站建设实训报告ppt
  • 大型网站空间费用Wordpress需要费用吗
  • 怎样注册网站卖东西深圳优秀网站建设公司
  • 公司网站开发联系方式小程序定制要多少钱
  • 怎样建网站 步骤全屋定制效果图
  • 网站建设程序有哪些内容网站系统维护要多久
  • 怎样使用模板建立网站采集网站图片
  • 任丘网站制作做不锈钢管网站
  • 棋牌app开发需要多钱河南新站关键词排名优化外包
  • 网站模板带后台下载济南做网站的公司有哪些
  • 备案 网站服务内容相似图片在线查找
  • 工具类网站做排名数据库2008做企业网站
  • 不用服务器做视频网站吗营销型的物流网站模板
  • 京东商城网站的搜索引擎营销做的案例分析搜索引擎
  • 怎么做 社区网站wordpress提交表单插件
  • 网站做数据分析的意义自己的网站怎么做商城
  • 网站图片alt属性品牌网站的建设
  • 求个网站这么难吗2022年贴吧如何做网站左侧导航条
  • 网站空间被攻击网上可以注销营业执照吗
  • 做html网站模板开发公司宣传册
  • 快3网站制作 优帮云上海企业信用信息公示系统
  • 有了域名 做网站wordpress 电影
  • 上海网站建设域名设计外贸商城网站建设
  • 创建网站英文天元建设集团有限公司天元天筑网
  • 苏州规划建设局网站网站建设外包注意什么
  • 怎么做网站的主页面搜索建站网
  • 东莞清溪镇做网站公司塘厦房价
  • 怎么进入网站后台图片wordpress小说自动采集
  • 网站的优点和缺点做电影网站主机放哪比较好
  • 网站seo优化总结婚礼效果图怎么制作