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

如何 攻击网站嘉兴网站制作建设

如何 攻击网站,嘉兴网站制作建设,搜索引擎网站盈利模式,做二手货车网站线程的同步#xff1a;在编程过程中#xff0c;为了防止多线程访问共享资源时发生冲突#xff0c;Java提供了线程同步机制。所谓同步#xff0c;就是指一个线程等待另一个线程操作完再继续的情况。 线程安全#xff1a;一个类很好地同步以保护它的数据#xff0c;这个类…线程的同步在编程过程中为了防止多线程访问共享资源时发生冲突Java提供了线程同步机制。所谓同步就是指一个线程等待另一个线程操作完再继续的情况。 线程安全一个类很好地同步以保护它的数据这个类就称为线程安全的。 线程不安全多个线程先后更改数据造成某些线程得到的是无效数据。 概念比较抽象通过下面的程序来解释 this.ticket–表达式的结果为ticket的当前值因此每次输出的ticket是当前的票数。但是由输出结果可以看到最后输出的“售票员B卖票.ticket 0”。这就和之前的if(this.ticket 0) 产生了冲突为什么ticket0仍然能进入if循环呢 这就是由于不同步所造成的程序在运行过程中需要完成两步操作 1.判断是否还有票 2.卖票 但是步骤1和2之间出现了延迟。假设现在只剩下最后一张票所有线程几乎同时进入run()方法执行此时if判断条件都满足再执行自减操作就会有错误。这就是线程不同步。 package com.thred;class MyThread implements Runnable {//线程主体类private int ticket 6;Overridepublic void run() {//理解为线程的主方法for(int x 0; x 50; x) {if(this.ticket 0) {//卖票的条件try {Thread.sleep(1000);}catch(InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() 卖票.ticket this.ticket--);//this.ticket--表达式的结果为ticket的当前值}}} } public class Test {public static void main(String[] args) {MyThread mt new MyThread();new Thread(mt, 售票员A).start();new Thread(mt, 售票员B).start();new Thread(mt, 售票员C).start();} } /* 售票员A卖票.ticket 6 售票员C卖票.ticket 6 售票员B卖票.ticket 5 售票员A卖票.ticket 4 售票员C卖票.ticket 3 售票员B卖票.ticket 2 售票员A卖票.ticket 1 售票员C卖票.ticket 1 售票员B卖票.ticket 0 */怎么解决线程不同步问题同步代码块同步方法块。解决了不同步问题但是程序执行速度变慢安全性高性能降低了。 目前只是入门只简单的写一下怎么用原理的东西等后面深入学习再补充。 同步代码块使用Synchronized关键字定义的代码块同步时需要设置一个对象锁一般是给当前对象this上锁。 package com.thred;class MyThread implements Runnable {//线程主体类private int ticket 6;Overridepublic void run() {//理解为线程的主方法for(int x 0; x 50; x) {synchronized(this) {//同步代码块if(this.ticket 0) {//卖票的条件try {Thread.sleep(1000);}catch(InterruptedException e) {e.printStackTrace();} System.out.println(Thread.currentThread().getName() 卖票.ticket this.ticket--);}}}} } public class Test {public static void main(String[] args) {MyThread mt new MyThread();new Thread(mt, 售票员A).start();new Thread(mt, 售票员B).start();new Thread(mt, 售票员C).start();} } /* 售票员A卖票.ticket 6 售票员A卖票.ticket 5 售票员A卖票.ticket 4 售票员A卖票.ticket 3 售票员A卖票.ticket 2 售票员A卖票.ticket 1 */ 同步方法在一个方法上使用synchronized定义此方法称为同步方法。 package com.thred;class MyThread implements Runnable {//线程主体类private int ticket 6;Overridepublic void run() {//理解为线程的主方法for(int x 0; x 50; x) {this.sale();}}public synchronized void sale() {//同步方法if(this.ticket 0) {//卖票的条件try {Thread.sleep(1000);}catch(InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() 卖票.ticket this.ticket--);}} } public class Test {public static void main(String[] args) {MyThread mt new MyThread();new Thread(mt, 售票员B).start();new Thread(mt, 售票员A).start();new Thread(mt, 售票员C).start();} } /* 售票员B卖票.ticket 6 售票员B卖票.ticket 5 售票员B卖票.ticket 4 售票员B卖票.ticket 3 售票员B卖票.ticket 2 售票员B卖票.ticket 1 */
http://www.yutouwan.com/news/175053/

相关文章:

  • 建立企业网站方案清远 网站建设
  • 葫芦岛手机网站建设郴州网络营销推广
  • 公司做网站的费用属什么用途个人网站需要什么页面
  • 上海发布官方网长沙百度快速排名优化
  • 免费空间大的网盘重庆seo计费管理
  • 做网站难还是app难网站的作用有哪些
  • 怎样提高网站收录做化妆品代理在那些网站比较多
  • 网站后台添加东西不能粘贴哈尔滨网站建设1元钱
  • 网站开发的几个步骤昆明网站建设首选公司
  • 境外网站建设wordpress文章表
  • 网站都是用什么编写的网络营销策划书2000字
  • 企业 北京 响应式网站制作文字游戏做的最好的网站
  • 男女做暖暖的视频试看网站网站推广指标
  • 网站正能量晚上不用下载进入免费网时代教育培训机构
  • wordpress 建的网站专业的网站开发团队
  • 关于网站建设的请示凡科建站登录界面
  • 关于小城镇建设网站网站界面设计如何实现功能美与形式美的统一?
  • 企业如何实现高端网站建设服务器上装wordpress
  • 网站备案由别人代网站仿制教程
  • 个人网站如何做淘宝客猪八戒网可以做网站吗
  • 盐城微信公众平台网站制作wordpress访问许可
  • 网站建设官网多少钱做国际网站怎么能快速打开
  • 网站xml地图建立网站坐等访问者发现
  • 网站建站那个好wordpress登录页面图标修改
  • 单页网站与传统网站的区别建设网站 深圳
  • 门户网站建设背景网站开发 手机 电脑
  • 汽车展示网站活动推广方式
  • 网站建设技术可行性分析梁头网站建设
  • 北京制作手机网站读取别人网站代码自己做
  • 成品网站 售卖商城平台推广方案