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

server 2008 r2搭建网站网站建设立项

server 2008 r2搭建网站,网站建设立项,怎么开自己的网店,手机制作ppt的步骤图解先拜拜大神 Doug Lea#xff08;道格.利#xff09; java.util.concurrent在并发编程中使用的工具包 为什么学习并用好多线程极其重要 硬件方面 摩尔定律失效 摩尔定律#xff1a;它是由英特尔创始人之一Gordon Moore#xff08;戈登.摩尔#xff09;提出来的。其内容为… 先拜拜大神 Doug Lea道格.利 java.util.concurrent在并发编程中使用的工具包 为什么学习并用好多线程极其重要 硬件方面 摩尔定律失效 摩尔定律它是由英特尔创始人之一Gordon Moore戈登.摩尔提出来的。其内容为 当价格不变时集成电路上可容纳的元器件的数目约每隔18-24个月便会增加一倍性能也将提升一倍。换言之每一美元所能买到的电脑性能将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。 可是从2003年开始CPU主频已经不再翻倍而是采用多核而不是更快的主频。摩尔定律失效了。在主频不再提高且核数在不断增加的情况下要想让程序更快就要用到并行或并发编程。 软件方面 充分利用多核处理器提高程序性能高并发系统提高程序吞吐量异步回调等生产需求 弊端及问题 线程安全性问题如i、集合类安全问题线程锁问题线程性能问题 从start一个线程说起 java线程理解以及openjdk中的实现 private native void start0(); java语言本身底层就是C语言 OpenJDK源码网址 http://openjdk.java.net/ 可以下载源码到本地观看openjdk\hotspot\src\share\vm\runtime 更加底层的C源码解读 1、openjdk8\jdk\src\share\native\java\lang thread.c java线程是通过start的方法启动执行的主要内容在native方法start()中openjdk的写JNI一般是一一对应的Thread.java对应的就是Thread.cstart0其实就是JVM_StartThread。此时查看源代码可以看到在jvm.h中找到了声明jvm.cpp中有实现。 2、openjdk8\hotspot\src\share\vm\prims jvm.cpp 3、openjdk8\hotspot\src\share\vm\runtime thread.cpp java多线程相关概念 1把锁 synchronized 2个并 并发concurrent是在同一实体上的多个事件是在一台处理器上“同时”处理多个任务同一时刻其实是只有一个事件在发生。 并行parallel是在不同实体上的多个事件是在多台处理器上同时处理多个任务同一时刻大家真的都在做事情你做你的我做我的但是我们都在做。 并发VS并行 3个程 进程简单的说在系统中运行的一个应用程序就是一个进程每一个进程都有它自己的内存空间和系统资源。 线程也被成为轻量级进程在同一个进程内会有1个或多个线程是大多数操作系统进行时序调度的基本单元。 管程 Monitor监视器也就是我们平时所说的锁 Monitor其实是一种同步机制它的义务是保证同一时间只有一个线程可以访问被保护的数据和代码。 JVM中同步是基于进入和退出监视器对象Monitor管程对象来实现的每个对象实例都会有一个Monitor对象 Object o new Object(); new Thread(() - { synchronized(o) { } }, t1).start(); Monitor对象会和java对象一同创建并销毁它底层是由C语言来实现的。 JVM第3版 6.4.10同步指令 Java虚拟机可以支持方法级的同步和方法内部一段指令序列的同步这两种同步结构都是使用管程Monitor更常见的是直接将它称为“锁”来实现的。 方法级的同步是隐式的无须通过字节码指令来控制它实现在方法调用和返回操作之中。虚拟机可以从方法常量池中的方法表结构中的ACC_SYNCHRONIZED访问标志得知一个方法是否被声明为同步方法。当方法调用时调用指令将会检查方法的ACC_SYNCHRONIZED访问标志是否被设置如果设置了执行线程就要求先成功持有管程然后才能执行方法最后当方法完成无论是正常完成还是非正常完成时释放管程。在方法执行期间执行线程持有了管程其他任何线程都无法再获取到同一个管程。如果一个同步方法执行期间抛出了异常并且在方法内部无法处理此异常那这个同步方法所持有的管程将在异常抛到同步方法边界之外时自动释放。 同步一段指令集序列通常是由java语言中的synchronized语句块来表示的java虚拟机的指令集中有monitorenter和monitorexit两条指令来支持synchronized关键字的语义正确实现synchronized关键字需要javac编译器与java虚拟机两者共同协作支持。 用户线程和守护线程 java线程分为用户线程和守护线程 一般情况下不做特别说明配置默认都是用户线程。 用户线程User Thread是系统的工作线程它会完成这个程序需要完成的业务操作。 守护线程Daemon Thread是一种特殊的线程为其他线程服务的在后台默默地完成一些系统性的服务比如垃圾回收线程就是最典型的例子守护线程作为一个服务线程没有服务对象就没有必要继续运行了如果用户线程全部结束了意味着程序需要完成的业务操作已经结束了系统可以退出了。所以假如当系统只剩下守护线程的时候java虚拟机会自动退出。 线程的daemon属性 源码解读 true表示是守护线程 false表示是用户线程 code演示 package com.lzx.juc.base;import java.util.concurrent.*;/*** author admin*/ public class DaemonDemo {//一切方法运行的入口public static void main(String[] args) {Thread t1 new Thread(() - {System.out.println(Thread.currentThread().getName() \t 开始运行, (Thread.currentThread().isDaemon() ? 守护线程 : 用户线程));while (true) {}}, t1);t1.start();t1.setDaemon(true);//暂停几秒钟线程try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() \t ----end 主线程);}} 小总结 如果用户线程全部结束意味着程序需要完成的业务操作已经结束了守护线程随着JVM一同结束工作。 setDaemon(true)方法必须在start()之前设置否则报IllegalThreadStateException异常为什么 你不能把正在运行的常规线程设置为守护线程。
http://www.w-s-a.com/news/442140/

相关文章:

  • 网站图片设计制作制作一个门户网站需要多少钱
  • 虚拟币交易网站源码自己给网站做支付接口
  • 免费的seo网站在线 crm
  • 绍兴市高速公路建设指挥部网站网站主页和子页风格如何统一
  • 获取网站状态网站租金可以做办公费吗
  • 网站开发执行什么标准号wordpress主题 表白
  • 杭州网站推广与优化凡科网是免费的吗
  • 公司网站的重要性门户网站推广介绍方案
  • 做金融网站看那些素材江门网红打卡景点蓬江区
  • 饮食网站模板建网站中企动力优
  • 郑州 制造 网站东平企业建站公司
  • 天津设计师网站大全展示型网站搭建
  • 南宁网站建设 传导网站开发平台开发公司
  • 网站建设好处上海建设工程网站
  • 黑河哈尔滨网站建设太原网站制作定制开发
  • 建站做网站香河住房与建设局网站
  • 如何制造一个网站域名分类网站
  • 解析视频的网站怎么做凡科网快图
  • 企业网站优化问题接单app平台有哪些
  • 怎么做网站后缀识别符号才不会变什么是电子商务网站建设
  • 中山 五金 骏域网站建设专家专门用来制作网页的软件是什么
  • 怎么做刷东西的网站数据分析软件工具有哪些
  • 官方购物网站正品交易网站域名
  • lol网站建设seo 网站太小
  • 网站建设销售职责手机网站制作软件
  • 福州百度企业网站seo如何在电脑上登录wordpress
  • 开发区全力做好网站建设网络广告营销成功案例
  • 114网站建设高并发系统架构
  • php网站打开一片空白wordpress中文广告插件下载
  • 怎样建自己的网站免费的百度关键词排名点击