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

手机网站域名和pc域名的区别Wordpress排版混乱

手机网站域名和pc域名的区别,Wordpress排版混乱,移动端网站构成要素,网站 f型简单来说#xff0c; Single Thread Execution就是采用排他式的操作保证在同一时刻只能有一个线程访问共享资源。 1.机场过安检 1.1非线程安全 先模拟一个非线程安全的安检口类#xff0c;旅客(线程)分别手持登机牌和身份证接受工作人员的检查#xff0c;示例代码如所示。…简单来说 Single Thread Execution就是采用排他式的操作保证在同一时刻只能有一个线程访问共享资源。 1.机场过安检 1.1非线程安全 先模拟一个非线程安全的安检口类旅客(线程)分别手持登机牌和身份证接受工作人员的检查示例代码如所示。 public class FlightSecurity {private int count 0;// 登机牌private String boardingPass null;// 身份证private String idCard null;public void pass(String boardingPass, String idCard) {this.boardingPass boardingPass;this.idCard idCard;this.count;}private void check() {// 简单的测试当登机牌和身份证首字母不相同时则表示检查不通过if ( boardingPass.charAt(0) ! idCard.charAt(0)) throw new RuntimeException(Exception toString());}Overridepublic String toString() {return FlightSecurity{ count count , boardingPass boardingPass \ , idCard idCard \ };} } Flight Security比较简单 提供了一个pass方法 将旅客的登机牌和身份证传递给pass方法 在pass方法中调用check方法对旅客进行检查 检查的逻辑也足够的简单 只需要检测登机牌和身份证首字母是否相等(当然这样在现实中非常不合理但是为了使测试简单我们约定这么做)我们看代码所示的测试. public class FlightSecurityTest {// 旅客线程static class Passengers extends Thread {// 机场安检类private final FlightSecurity flightSecurity;// 旅客的身份证private final String idCard;// 旅客的登机牌private final String boardingPass;// 构造旅客是传入身份证登机牌以及机场安检类public Passengers(FlightSecurity flightSecurity, String idCard, String boardingPass) {this.flightSecurity flightSecurity;this.idCard idCard;this.boardingPass boardingPass;}Overridepublic void run() {while(true) {flightSecurity.pass(boardingPass, idCard);}}}public static void main(String[] args) {// 定义三个旅客身份证和登机牌首字母均相同final FlightSecurity flightSecurity new FlightSecurity();new Passengers(flightSecurity, A1234,AF1234).start();new Passengers(flightSecurity, B1234, BF1234).start();new Passengers(flightSecurity,C1234, CF1234).start();} } 首字母相同检查不能通过和首字母不相同检查不能通过为什么会出现这样的情况呢?首字母相同却不能通过?更加奇怪的是传入的参数明明全都是首字母相同的为什么会出现首字母不相同的错误呢? 1.2 问题分析 1首字母相同却未通过检查 图所示的为首字母相同却无法通过安检的分析过程。 2 2为何出现首字母不相同的情况 明明传入的身份证和登机牌首字母都相同可为何在运行的过程中会出现首字母不相同的情况下面我们也通过图示的方式进行分析如图所示。 1.3 线程安全 1.1节中出现的问题说到底就是数据同步的问题 虽然线程传递给pass方法的两个参数能够百分之百地保证首字母相同 可是在为FlightSecurity中的属性赋值的时候会出现多个线程交错的情况结合我们在第一部分第4章的所讲内容可知需要对共享资源增加同步保护改进代码如下 public synchronized void pass(String boardingPass, String idCard) {this.boardingPass boardingPass;this.idCard idCard;this.count;} 何时适合使用single thread execution模式呢?答案如下。 多线程访问资源的时候 被synchronized同步的方法总是排他性的。多个线程对某个类的状态发生改变的时候 比如Flight Security的登机牌以及身份证。 2.吃面问题 2.1吃面引起的死锁 虽然使用synchronized关键字可以保证single thread execution 但是如果使用不得当则会导致死锁的情况发生比如A手持刀等待B放下叉而手持叉等待放下刀示例代码如所示。 public class EatNoodleThread extends Thread {private final String name;// 左手边的餐具private final Tableware leftTool;// 右手边的餐具private final Tableware rightTool;public EatNoodleThread(String name, Tableware leftTool, Tableware rightTool) {this.name name;this.leftTool leftTool;this.rightTool rightTool;}Overridepublic void run() {while (true) {this.eat();}}// 吃面条的过程private void eat() {synchronized (leftTool) {System.out.println(name take up leftTool left);synchronized (rightTool) {System.out.println(name take up rightTool right);}System.out.println(name put down leftTool);}}public static void main(String[] args) {Tableware fork new Tableware(fork);Tableware knife new Tableware(knife);new EatNoodleThread(A, fork, knife).start();new EatNoodleThread(B, knife, fork).start();} } 2.2 解决吃面引起的死锁问题 为了解决交叉锁的情况我们需要将刀叉进行封装使刀叉同属于一个类中改进代码如所示 public class EatNoodleThread1 extends Thread{private final String name;private final TablewarePair tablewarePair;public EatNoodleThread1(String name, TablewarePair tablewarePair) {this.name name;this.tablewarePair tablewarePair;}Overridepublic void run() {while(true) {this.eat();}}private void eat() {synchronized (tablewarePair) {System.out.println(eatting);}}} 2.3哲学家吃面问题 哲学家吃面是解释操作系统中多个进程竞争资源的经典问题每个哲学家的左右手都有吃面用的刀叉但是不足以同时去使用比如哲学家想要吃面必须拿起左手边的叉和右手边的刀但是有可能叉和刀都被其他哲学家拿走使用或者是手持刀等待别人放下叉等容易引起死锁的问题。
http://www.hkea.cn/news/14482540/

相关文章:

  • 美食网站建设的意义泰兴市住房和城乡建设局网站
  • 弹幕网站开发代码网站建设徐州
  • 左旗网站建设html网站开发代码
  • 建设企业网站需要使用哪些技术小型网站建设公司价格低
  • 网站建设流程与步骤兼职做视频的网站
  • 昌邑做网站企业网站后台
  • 班玛县公司网站建设网站建设规划方案制作
  • 文登做网站的公司苏州建设银行官方网站
  • 网站推广包年清理wordpress模板
  • 华宁县住房和城乡建设局网站美客多电商平台入驻链接
  • 网站建设的辅助软件wordpress的分类目录
  • 南坪网站建设做网站开发哪里好
  • 网站策划运营方案沈阳网站 房小二
  • 做a的网站有哪些建行官方网站 - 百度
  • 全国加盟网站大全网站开发技术报告模板
  • 网站上传该怎么做公司网站功能
  • 做暧暖ox免费网站织梦txt网站地图制作
  • 淘宝网站设计模板下载廊坊seo排名外包
  • 测网站打开的速度的网址iis5.1怎么发布网站
  • 免费在线网站建设网页版崩坏星穹铁道
  • 携程旅游电子商务网站策划书网站服务器速度对seo有什么影响
  • 学校网站建设多少钱o2o网站建设机构
  • 在线名片制作网站开发中国电信网站备案流程
  • 用自己的电脑做视频网站做一个网站需要多少费用
  • 做网站购买什么软件net网站开发参考文献
  • 水电维修在哪个网站上做推广好些电脑卸载不了wordpress
  • 百度网站建设费用中企动力天津科技有限公司
  • 建设网站和网页有啥区别网站报价方案怎么做
  • 长春seo网站建设费用Wordpress 淘宝客 页面
  • 灵犀科技 网站开发个人网站建设代码