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

1做网站免费下载app软件的网站

1做网站,免费下载app软件的网站,大淘客网站怎么做,海南哪家公司做网站做的好概述 synchronized是java中的一个关键字#xff0c;也就是说是Java语言内置的特性。 synchronized( 一个任意的对象#xff08;锁#xff09; ){ 代码块中放操作共享数据的代码。 } public synchronized int getIndex() {return 1;}public static synchronized int getN… 概述 synchronized是java中的一个关键字也就是说是Java语言内置的特性。 synchronized( 一个任意的对象锁 ){ 代码块中放操作共享数据的代码。 } public synchronized int getIndex() {return 1;}public static synchronized int getNext() {return 2;}public int getPre() {//这里的参数可以用java所有对象//synchronized(this) {//synchronized(Demo1.class) {synchronized(new Demo1()) {System.out.println(synchronized(这里的参数可以用java所有对象));}return 0;}synchronized 放在普通方法上内置锁就是当前类的实例。 synchronized 放在静态方法上内置锁就是当前类的Class字节码对象 如果一个代码块被synchronized修饰了当一个线程获取了对应的锁并执行该代码块时其他线程便只能一直等待等待获取锁的线程释放锁。这种特性又被称为互斥锁 而这里获取锁的线程释放锁只会有两种情况 1获取锁的线程执行完了该代码块然后线程释放对锁的占有。 2线程执行发生异常此时JVM会让线程自动释放锁。 实例 继续卖火车票的例子。 在《Java中Runnable和Thread的区别》火车票例子里我们看到三个窗口卖出去的火车票顺序是乱的。 如何使顺序有序呢 线程执行的时候一个个执行不就有序了。即线程1在执行的时候其他线程阻塞不要执行。 加synchronize。 package multithreading.sync;public class MyThreadWithImplements implements Runnable {private int tickets 10;Overridepublic synchronized void run() {for (int i 0; i 100; i) {if(tickets0){System.out.println(Thread.currentThread().getName()--卖出票 tickets--);}}}public static void main(String[] args) {MyThreadWithImplements myRunnable new MyThreadWithImplements();Thread thread1 new Thread(myRunnable, 窗口一);Thread thread2 new Thread(myRunnable, 窗口二);Thread thread3 new Thread(myRunnable, 窗口三);thread1.start();thread2.start();thread3.start();}}运行结果 窗口一--卖出票10 窗口一--卖出票9 窗口一--卖出票8 窗口一--卖出票7 窗口一--卖出票6 窗口一--卖出票5 窗口一--卖出票4 窗口一--卖出票3 窗口一--卖出票2 窗口一--卖出票1 缺陷 例子1 如果这个获取锁的线程由于要等待IO或者其他原因比如调用sleep方法被阻塞了但是又没有释放锁其他线程便只能干巴巴地等待这多么影响程序执行效率。 因此就需要有一种机制可以不让等待的线程一直无期限地等待下去比如只等待一定的时间或者能够响应中断通过Lock就可以办到。 例子2 当有多个线程读写文件时读写操作会发生冲突现象写写操作会发生冲突现象但是读读操作不会发生冲突现象。 但是采用synchronized关键字来实现同步的话就会导致一个问题 如果多个线程都只是进行读操作当一个线程在进行读操作时其他线程只能等待无法进行读操作。 因此就需要一种机制来使得多个线程都只是进行读操作时线程之间不会发生冲突通过Lock就可以办到。 另外通过Lock可以知道线程有没有成功获取到锁。这个是synchronized无法办到的。 总的来说也就是说Lock提供了比synchronized更多的功能。 参见ReadWriteLock读写文件
http://mrfarshtey.net/news/28745/

相关文章:

  • 8个页面的网站怎么做中国建筑企业
  • 岳阳网站推广建设工程国检中心网站
  • 自己做网站用花钱吗网站添加备案信息
  • 手机怎么登录自己做的网站html5视频网站源码
  • 开发购物网站描述专业的单位网站开发开发
  • 个人建网站需要多少钱网站如何做触屏滑动效果
  • 网站维护管理南宁网站提升排名
  • 建站公司 万维科技做视频点播网站如何赚钱
  • 广告行业包括网站建设吗vs2017做网站
  • 天津企业建站程序微营销教程
  • 张店网站设计网站排名做不上去吗
  • 网站备案怎么取消线上平台搭建要多少钱
  • 淘宝网站首页设计分析网站怎么收费
  • 微信分销网站建设网站建设五年发展规划
  • 江苏商城网站建设服务网站开发目标开题报告
  • 北京建设网站哪家好搭建网站的必须条件
  • 网站建设设计 飞沐装修网站平台有哪些
  • 竖导航网站wordpress 音频播放
  • 个人网站建设的收获wordpress立即发布
  • 有哪些做ppt网站wordpress cia易验证
  • 提供网站建设备案报价珠海手机网站建设推广公司
  • 保障性住房建设投资中心网站邢台市住房和城乡建设局网站
  • 网站建设以及推广销售客户怎么找贵阳网站开发方舟网络
  • 哪里学做网站建设工程管理专业
  • 网站收录查询临沂seo广州微信网站建设咨询
  • 重装wordpress图片不见了清远网站关键词优化
  • asp建站软件网络公司排名榜
  • 杭州鼎易科技做网站太坑seo网站架构
  • 四川旅游seo整站优化wordpress存储数据库文件
  • 网站小图标素材网站如何被收录情况