zoukankan      html  css  js  c++  java
  • 线程通讯和同步的两种实现方法

      在多线程编程中,不免要涉及同步和通讯两个方面。
      同步有两种方法实现,一种是利用synchronized标示,另外一种是加锁
      生成锁的对象的方法是:private static Lock lock = new ReentrantLock();Lock是一个接口,而Reentrantlock是一个实现的类。构造方法有:ReentrantLock()和ReentrantLock(fair:boolean)两种。其中第二种传递的是一个boolean值的参数,当设置为true时系统会按照等待的先后时间让线程活得锁,但是效率和性能不如默认值的好,但是同时也可以避免资源匮乏。synchronized可以声明方法,也可以用来标记某段代码。用来标记某段代码时的用法是:synchronized(){}。
       
      通讯方面有两种方法:
      第一种是利用锁生成Condition对象然后调用await()和signal()或者signalall(),另外一种是利用继承的object类中的wait()和notify()或者notifyall()唤醒方法
  • 相关阅读:
    Java创建和解析Json对象
    Tyche 2191 WYF的递推式
    Tyche 2147 旅行
    Tyche 2317 Color
    洛谷 P1092 虫食算
    洛谷 P3951 小凯的疑惑
    BZOJ 1800 [Ahoi2009]fly 飞行棋
    BZOJ 1034 [ZJOI2008]泡泡堂BNB
    洛谷 P2151 [SDOI2009]HH去散步
    Android开发环境配置
  • 原文地址:https://www.cnblogs.com/hz04022016/p/5471977.html
Copyright © 2011-2022 走看看