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

廊坊电子网站建设网站哪个公司做的比较好的

廊坊电子网站建设,网站哪个公司做的比较好的,app ui设计欣赏 网站,1元云主机201521123014 《Java程序设计》第11周学习总结 1. 本周学习总结 1.1 以你喜欢的方式#xff08;思维导图或其他#xff09;归纳总结多线程相关内容。 2. 书面作业 Q1 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步… 201521123014 《Java程序设计》第11周学习总结 1. 本周学习总结 1.1 以你喜欢的方式思维导图或其他归纳总结多线程相关内容。 2. 书面作业 Q1 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问还有什么办法实现互斥同步访问请出现相关代码 答 可以使用Lock对象和Condition对象实现互斥同步访问或者还可以使用synchronized代码块。synchronized (this) 代码public void deposit(int money) {lock.lock();try {this.balance this.getBalance() money;} finally {lock.unlock();}}public void withdraw(int money) {lock.lock();try {try {while (this.getBalance() 0 || this.balance money)condition.await();condition.signal();} catch (Exception e) {System.out.println(e);}this.balance this.getBalance() - money;} finally {lock.unlock();// 保证不会发生异常}} 1.2 同步代码块与同步方法有何区别 同步方法直接在方法上加synchronized实现加锁同步代码块则在方法内部加锁很明显同步方法锁的范围比较大而同步代码块范围要小点一般同步的范围越大性能就越差一般需要加锁进行同步的时候肯定是范围越小越好这样性能更好因为多个线程只访问这个对象内部中的某些方法。 1.3 实现互斥访问的原理是什么请使用对象锁概念并结合相应的代码块进行说明。当程序执行synchronized同步代码块或者同步方法时线程的状态是怎么变化的 每个对象都有一把锁,只有当线程获得对象锁后才能进行访问如果未获得对象锁线程无法执行必须等待。从而通过对象锁实现了互斥访问。 多个线程竞争对象锁如果线程没有取得对象锁那么就会进入Lock Pool在取得对象锁后会先回到Runnable然后等待线程调度器将其排入Running。1.4 Java多线程中使用什么关键字实现线程之间的通信进而实现线程的协同工作为什么同步访问一般都要放到synchronized方法或者代码块中 wait()和notify()/nofityAll()存在多个线程同时运行时没有互斥将会使线程运行混乱例如三个人同时存钱到同一个账户时余额可能出现异常。 2. 交替执行 实验总结不管有没有做出来 相关代码 运行结果 实验总结建立Repo类用ArrayList字符串数组存储字符串items;Worker1和Worker2类继承Runnable接口两个线程交替运行需要使用wait()和notify()函数循环条件是o.getsize()!0输出字符串数组并remove达到将任务删除通过boolean变量来完成任务的交替。任务1执行完后改变布尔值并唤醒另一个任务然后开始执行任务2任务2执行完后改变boolean变量唤醒任务1这样交替执行下去直至两个任务都不能执行为止这边就是等到字符串全部输出为止。 Q3 互斥访问 3.1 修改TestUnSynchronizedThread.java源代码使其可以同步访问。(关键代码截图需出现学号) 3.2 进一步使用执行器改进相应代码(关键代码截图需出现学号) 上网搜索invokeAll方法在代码中两次for循环的次数要相等若是不等则会导致最后结果是相差次数的输出次数. Q4 线程间的合作生产者消费者问题 4.1 运行MyProducerConsumerTest.java。正常运行结果应该是仓库还剩0个货物。多运行几次观察结果并回答结果正常吗哪里不正常为什么 结果不正常在public synchronized void add(String t)和public synchronized void remove()的方法体中应该有wait()和notify()函数来实现线程之间的合作否则多个线程只是不互斥却没有合作导致结果出错 4.2 使用synchronized, wait, notify解决该问题(关键代码截图需出现学号) Q5 查询资料回答什么是线程安全(用自己的话与代码总结写自己看的懂的作业) 如果你的代码所在的进程中有多个线程在同时运行而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的而且其他的变量的值也和预期的是一样的就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。 例如public synchronized void withdraw(int money){try{while(this.getBalance()0||this.getBalance()-money0){wait();}}catch(Exception e){System.out.println(e);}setBalance(this.balance-money);notify();} 这个是简单的取钱程序判断卡中的金额是否大于取钱的金额如果大于就取钱。 在多线程的程序里就存在线程安全的问题。 比如卡中100元两个线程都去取 60元由于线程是并发的很有可能第一个线程执行的同时第二个线程进来判断卡中还有100元然后也能运行这样就会取出120元钱。3. 码云上代码提交记录 3.1 码云代码提交记录 3.2 截图多线程PTA提交列表 posted on 2017-05-06 18:10 Paparazzi 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/huangsh/p/6817418.html
http://www.pierceye.com/news/975428/

相关文章:

  • c语言网站建设禅城网站开发
  • 宁波品牌网站制作哪家好太平阳电脑网网站模板
  • seo网站外链工具看设计比较好的网站
  • 济南道驰网站建设有限公司怎么样某网站网站的设计与实现
  • 服装印花图案设计网站设计一个网站要多久
  • ai怎么做自己的网站getpage wordpress使用详解
  • 龙岩做网站推广龙岗网站 建设深圳信科
  • 沈阳网站建设 网络服务广告公司首页
  • 旅游网站建设导航栏中国哪里正在大开发大建设
  • 哪能建设网站建设网站需要哪些流程图
  • 网站YYQQ建设o2o型网站
  • 给客户做网站 赚钱吗赣州省住房和城乡建设厅网站
  • 营销优化型网站怎么做手机app网页制作
  • 上海网站建设服wordpress友情链接排序
  • 沈阳市和平区网站建设编程课适合多大孩子学
  • 东阳网站优化懒人图库
  • 马关县网站建设专注营销型网站建设
  • 微信公众号公众平台太原seo关键词优化
  • 沈阳网站建设方案二级网站怎样被百度收录
  • 厦门数字引擎 怎么打不开网站youku网站开发技术
  • 中小企业网站建设论文郑州网站服务公司
  • 工信部网站备案验证码文化传媒网站封面
  • 境外做网站网站百度代运营
  • 南京学校网站建设策划手机网站默认全屏
  • 东莞公司网站策划万网买网站
  • 建筑网站视频大全做外汇网站卖判刑多少年
  • 手机网站菜单网页怎么做东莞网站优化方案
  • 公众号免费素材网站wordpress无法开始安装
  • 建设银行互联网网站首页网站备案 视频
  • 免费优化网站建设做app和网站哪个比较好用