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

搭建个人网站做电影网站哪个服务器好

搭建个人网站,做电影网站哪个服务器好,做外贸个人网站好吗,企业网站建设中期报告模板Java实现100万 的高并发、高性能设计 1、简述 现百万级并发编是一项综合性的技术#xff0c;同时#xff0c;它与现实生活中 的场景有着紧密的联系。 搞懂并发编程有三大核心问题 分工问题 同步问题 互斥问题 本文就对这三大核心问题进行简单的介绍 2、分工问题 关于分工…Java实现100万 的高并发、高性能设计 1、简述 现百万级并发编是一项综合性的技术同时它与现实生活中 的场景有着紧密的联系。 搞懂并发编程有三大核心问题 分工问题 同步问题 互斥问题 本文就对这三大核心问题进行简单的介绍 2、分工问题 关于分工比较官方的解释是一个比较大的任务被拆分成多个大小合适的任务这些大小合适的任务被交给合适的线程去执行。 分工强调的是执行的性能。 类比现实案例 可以类比现实生活中的场景来理解分工例如如果你是一家上市公司的 CEO那么你的主要工作就是规划公司的战略方向和管理好公司。就如何管理好公司而言涉及的任务就比较多了。 这里可以将管理好公司看作一个很大的任务这个很大的任务可以包括人员招聘与管理、 产品设计、产品开发、产品运营、产品推广、税务统计和计算等。如果将这些工作任务都交给 CEO一个人去做那么估计 CEO 会被累趴下的。 有一种很好的方式是分解公司的日常工作将人员招聘与管理工作交给人力资源部将产 品设计工作交给设计部将产品开发工作交给研发部将产品运营和产品推广工作分别交给运 营部和市场部将公司的税务统计和计算工作交给财务部。 这样CEO 的重点工作就变成了及时了解各部门的工作情况统筹并协调各部门的工作 并思考如何规划公司的战略。 将公司的日常工作分工后可以发现各部门之间的工作是可以并行推进的。例如在人力资源部进行员工的绩效考核时设计部和研发部正在设计和开发公司的产品与此同时公司的运营人员正在和设计人员与研发人员沟通如何更好地完善公司的产品而市场部正在加大力度宣传和推广公司的产品财务部正在统计和计算公司的各种财务报表等。一切都是那么有条不紊。 所以在现实生活中安排合适的人去做合适的事情是非常重要的。映射到并发编程领域 也是同样的道理。 并发编程中的分工 在并发编程中同样需要将一个大的任务拆分成若干比较小的任务并将这些小任务交给 不同的线程去执行。 将一个大的任务拆分成若干比较小的任务 在并发编程中由于多个线程可以并发执行所以在一定程度上能够提高任务的执行效率。 在并发编程领域还需要注意一个问题就是将任务分给合适的线程去做。也就是说该由主线程执行的任务不要交给子线程去做否则是解决不了问题的。 这就好比一家公司的 CEO 将规划公司未来的工作交给一位产品开发人员一样不仅不能规划好公司的未来甚至会与公司的价值观背道而驰。 在Java 中线程池、Fork/Join 框架和 Future 接口都是实现分工的方式。在多线程设计模式中Guarded Suspension 模式、Thread-Per-Message 模式、生产者—消费者模式、两阶段终止模式、Worker-Thread 模式和 Balking 模式都是分工问题的实现方式。 3、同步问题 在并发编程中同步指一个线程执行完自己的任务后以何种方式来通知其他的线程继续执行任务也可以将其理解为线程之间的协作同步强调的是执行的性能。 类比现实案例 可以在现实生活中找到与并发编程中的同步问题相似的案例。 例如张三、李四和王五共同开发一个项目张三是一名前端开发人员他需要等待李四的开发接口任务完成再开始渲染 页面而李四又需要等待王五的服务开发工作完成再写接口。 也就是说任务之间是存在依赖关系的前面的任务完成后才能执行后面的任务。 在现实生活中这种任务的同步更多的是靠人与人之间的交流和沟通来实现的。例如王五的服务开发任务完成了告诉李四李四马上开始执行开发接口任务。等李四的接口开发完成后再告诉张三张三马上调用李四开发的接口将返回的数据渲染到页面上。 在现实生活中张三、李四和王五的任务之间是有依赖关系的张三渲染页面的任务依赖李四开发接口的任务完成李四开发接口的任务依赖王五开发服务的任务完成。 并发编程中的同步 在并发编程领域同步机制指一个线程的任务执行完成后通知其他线程继续执行任务的方式并发编程同步简易模型。 在并发编程中多个线程之间的任务是有依赖关系的。 线程A 需要阻塞等待线程 B 执行完任务才能开始执行任务线程 B 需要阻塞等待线程 C 执行完任务才能开始执行任务。线程 C 执行完任务会唤醒线程 B 继续执行任务线程 B 执行完任务会唤醒线程 A 继续执行任务。 这种线程之间的同步机制可以使用如下的 if 伪代码来表示。 if(依赖的任务完成){ 执行当前任务 }else{ 继续等待依赖任务的执行 } 上述 if 伪代码所代表的含义是当依赖的任务完成时执行当前任务否则继续等待依 赖任务的执行。 在实际场景中往往需要及时判断出依赖的任务是否已经完成这时就可以使用 while 循 环来代替 if 判断 while 伪代码如下。 while(依赖的任务未完成){ 继续等待依赖任务的执行 } 执行当前任务 上述 while 伪代码所代表的含义是如果依赖的任务未完成则一直等待直到依赖的任务完成才执行当前任务。 在并发编程领域同步机制有一个非常经典的模型——生产者—消费者模型。如果队列已满则生产者线程需要等待如果队列不满则需要唤醒生产者线程如果队列为空则消费者线程需要等待如果队列不为空则需要唤醒消费者。 可以使用下面的伪代码来表示生产者—消费者模型。 生产者伪代码 while(队列已满){ 生产者线程等待 } 唤醒生产者 消费者伪代码 while(队列为空){ 消费者等待 } 唤醒消费者 在Java 中Semaphore、Lock、synchronized.、CountDownLatch、CyclicBarrier、Exchanger 和 Phaser 等工具类或框架实现了同步机制。 4、互斥问题 在并发编程中互斥问题一般指在同一时刻只允许一个线程访问临界区的共享资源。互斥强调的是多个线程执行任务时的正确性。 并发编程中的互斥 在并发编程中分工和同步强调的是任务的执行性能而互斥强调的则是执行任务的正确性也就是线程的安全问题。 如果在并发编程中多个线程同时进入临界区访问同一个共享变量则可能产生线程安全问题这是由线程的原子性、可见性和有序性问题导致的。 而在并发编程中解决原子性、可见性和有序性问题的核心方案就是线程之间的互斥。 例如可以使用JVM中提供的synchronized锁来实现多个线程之间的互斥使用synchronized锁的伪代码如下。 修饰方法 public synchronized void methodName(){ //省略具体方法 } 修饰代码块 public void methodName(){ synchronized(this){ //省略具体方法 }} public void methodName(){ synchronized(obj){ //省略具体方法 } } public void methodName(){ synchronized(ClassName.class){ //省略具体方法 } } 修饰静态方法 public synchronized static void staticMethodName(){ //省略具体方法 } 除了synchronized 锁Java 还提供了 ThreadLocal、CAS、原子类和以CopyOnWrite 开头的并发容器类、Lock 锁及读/写锁等它们都实现了线程的互斥机制。
http://www.hkea.cn/news/14290544/

相关文章:

  • python做网站模板新网站如何做seo推广
  • 机械做网站好处湖北中牛建设有限公司网站
  • 佛山市外贸企业高端网站设计品牌广告设计制作公司网站源码
  • 内蒙古 网站建设广告制作公司口号
  • 网站页面相似度查询工具江苏手机网站建设公司
  • 网站页面一般做多大wordpress ftp配置
  • 特种作业证查询官网重庆网站seo营销模板
  • 网站建设咨询有客诚信网站建设咨询软文写作平台
  • 网站推广优化网址法库综合网站建设方案
  • 网站建设世纪明珠最新军事新闻
  • 网站流量优化网站开发设计协议
  • 南通建设中标查询网站餐饮营销引流都有什么方法
  • 成绩查询系统网站开发整合网络营销策划
  • 官网整站优化百度seo通科
  • 音乐网站html模板便民平台推广怎么做
  • 网站建设有哪些名词上海发布
  • 长沙旅游网站开发WordPress禁止多ip
  • 团队介绍网站建设网站设计如何开始
  • 做网站公司怎么样wordpress 实时表单
  • 可以做商品砍价的网站网站专题制作教程
  • 教育机构网站百度网站的主要盈利来源不包括
  • 网站的建设流程东莞市建设工程质量监督网站
  • 网站分享平台网站建设过程中的网站设计怎么做
  • 网站可以免费看做网站登入见面
  • 怎么样建设网站正规的高端网站制作公司
  • 建设监理继续教育网站最好的wordpress商城主题
  • 免费摄影网站聊城冠县网站建设
  • 七星彩网站建设wordpress怎样改头像
  • 网站顶部布局网站建设费用申报
  • 做响应式的网站网站开发需求图