Menu

瞬间移动不是梦?



卡在大上士龙的车阵中动掸不得时,常巴不得能刹那间移动到想去的地点,未来一堆澳大澳门的物军事学家正加快赶工,好落实大家的心愿。方今他们早已搜索一种运输原子的点子,能够用雷射将原子「归零」后,利用光导纤维以光速将原子送达指标地,再重新建构原子,就算商量小组感到那么些措施要利用到人类身上还会有一段相当长的路要走,但三翻五次有梦最美,希望相随嘛!希望在大家有生之年里,有空子为您报道他们开首次展览开肉体试验的新闻。[原来的小说连接][撰文:Judy]

浏览以下内容前,请点击并阅读 声明

图片 1

出现集合

  java.util.concurrent手提袋含了成都百货上千对此java群集框架的补偿,根据提供的接口可以将这个聚焦分为以下几类:

  • BlockingQueue 定义了先进先出(first in first
    out)的数据结构,假若对多少个满的队列添澳成分恐怕从多少个空的队列中搜寻成分,则会招致超时,或许被封堵。
  • ConcurrentMap
    是java.util.Map的子接口,定义了有个别原子操作。这一个原子操作能够移除只怕替换掉贰个存在的键值对,或许扩张二个键不设有的键值对。原子操作可防止止选用同步。通用的ConcurrentMap的落到实处是ConcurrentHashMap,其为HashMap的出现版本。
  • ConcurrentNavigableMap
    是ConcurrentMap的子接口,帮助近似相称,标准的通用达成为ConcurrentSkipListMap,是TreeMap的出现版本。

  全体的这一个集中能够经过在加上指标到集中的动作和延续的拜见和移除动作间建设构造产生前涉嫌,补助防止内部存款和储蓄器一致性错误。

原子变量

  java.util.concurrent.atomic包定义了支撑对于多个变量实行原子操作的类,在那之中具有的类都包蕴读和写的set和get方法,仿佛读写volatile变量同样,也正是说,对于同二个变量对应的set方法和接下来的get方法具备发生前涉嫌。原子方法compareAndSet也具备那一个内存一致性特征,就疑似对于整型原子变量使用的原子算数方法一致。原子变量使用形式如下例:

import java.util.concurrent.atomic.AtomicInteger;

class AtomicCounter {
//定义原子字段
    private AtomicInteger c = new AtomicInteger(0);

    public void increment() {
        c.incrementAndGet();
    }

    public void decrement() {
        c.decrementAndGet();
    }
//返回基本类型
    public int value() {
        return c.get();
    }

}

并发随机数字

  JDK7中,java.util.concurrent包括七个便利的类,ThreadLocalRandom,因为微微程序希望在多个线程只怕ForkJoinTask中动用随机数字,对于出现的会见,使用ThreadLocalRandom相对于Math.random()能够减弱财富争夺,最后取得更优的习性。

  使用ThreadLocalRandom,只须要调用其静态方法current方法就能够获得二个ThreadLocalRandom对象,然后再调用个中的二个办法赢得一个即兴数:

//nextInt方法可以指定两个整数以作上限和下限,以下返回4到77的随机整数
int r = ThreadLocalRandom.current().nextInt(4, 77);

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图