随风而行

soundslow


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 游戏

  • 搜索

Redis实战:第一章-初识Redis案例-文章投票

发表于 2018-06-30 | 分类于 数据库
字数统计: 2k | 阅读时长 ≈ 9
redis全称REmote DIctionary Server,即远程字典服务,是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多 ...
阅读全文 »

图算法-Prim、Kruskal、Dijkstra、Floyd、Bellman

发表于 2018-04-30 | 分类于 ML/DL
字数统计: 1.5k | 阅读时长 ≈ 6
现实生活中,我们常常遇到一些涉及到图的问题;比如一个视频网站如何分配网络服务器,才能使得资源成本最小化;几个城市之间要修路,如何规划才能使得成本最小。另外现在是五一,有几个城市路线规划,在考虑路费时间等因素条件下,如何规划旅游路线。这些的种种问题,都可以化为图规划问题。前两个即最小生成树问题,后面 ...
阅读全文 »

并发编程实战15-重排序、happens-before

发表于 2018-04-17 | 分类于 Java
字数统计: 761 | 阅读时长 ≈ 2
指令重排序为了优化CPU的运行效率,在条件允许的情况下,直接运行当前有能力立即执行的后续指令,避开获取下一条指令所需数据时造成的等待3。通过乱序执行的技术,处理器可以大大提高执行效率。比如:对于如下代码 123int a = 10 // 1 int b = 100 // 2int c = a / ...
阅读全文 »

并发编程实战14-LongAdder统计加法器-计数器jdk8

发表于 2018-04-17 | 分类于 Java
字数统计: 3.1k | 阅读时长 ≈ 12
传统的原子锁AtomicLong/AtomicInt虽然也可以处理大量并发情况下的计数器,但是由于使用了自旋等待,当存在大量竞争时,会存在大量自旋等待,而导致CPU浪费,而有效计算很少,降低了计算效率。 而LongAdder是根据ConcurrentHashMap这类为并发设计的类的基本原理——锁分 ...
阅读全文 »

并发编程实战13-同步中的四种锁synchronized、ReentrantLock、ReentrantReadWriteLock、StampedLock

发表于 2018-04-17 | 分类于 Java
字数统计: 966 | 阅读时长 ≈ 3
synchronized同步锁 synchronized属于悲观锁,直接对区域或者对象加锁,性能稳定,可以使用大部分场景。 ReentrantLock可重入锁(Lock接口) 相对于synchronized更加灵活,可以控制加锁和放锁的位置 可以使用Condition来操作线程,进行线程之间的 ...
阅读全文 »

并发编程实战11-并发容器CopyOnWriteArrayList

发表于 2018-04-11 | 分类于 Java
字数统计: 2.7k | 阅读时长 ≈ 10
一、同步容器和并发容器在jdk早期,为了解决并发安全问题,引入了同步容器Vector和Hashtable。在JDK1.2中,引入了同步封装类,可以由Collections.synchronizedXxxx等方法创建,可以直接对ArrayList进行封装以达到同步。但是,同步容器有一个问题,过于严格, ...
阅读全文 »

并发编程实战10-多线程中的任务分解机制ForkJoinPool详解

发表于 2018-04-10 | 分类于 Java
字数统计: 817 | 阅读时长 ≈ 3
Fork/Join 模式类似于MapReduce,也相当于一种分而治之的理念,或者说就像二分查找、二路归并算法。通过将一个大量的计算分解为许多的小计算,分而治之,然后再合并,同时,这些分出来的每个小计算都是并行进行的,这样就大大增大了CPU的利用率。 Fork/Join 模式有自己的适用范围。如 ...
阅读全文 »

并发编程实战9-Java中的并发工具类

发表于 2018-04-10 | 分类于 Java
字数统计: 2.5k | 阅读时长 ≈ 10
在JDK的并发包里提供了几个非常有用的并发工具类。CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类则提供了在线程间交换数据的一种手段。 一、等待多线程完成的CountDownLatch CountDownLa ...
阅读全文 »

并发编程实战8-ThreadLocal原理与使用-线程局部变量

发表于 2018-04-10 | 分类于 Java
字数统计: 1.9k | 阅读时长 ≈ 7
首先,我的理解,ThreadLocal只是一个公用对象,但是并不是完全用来作为线程之间共享的。原因在于,它只是一种公用变量模板,每个线程只是拥有它的复制版(线程死亡后,复制版也随之死亡),而不是直接使用公用变量,这样就避免了共享安全问题。但是,为什么不让每个线程直接去创建自己的实例变量呢?主要是因 ...
阅读全文 »

并发编程实战7-线程之间的通信2-join阻塞线程

发表于 2018-04-10 | 分类于 Java
字数统计: 670 | 阅读时长 ≈ 2
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 t.join(); //使调用线程 t 在此之前执行完毕。t.join(1000); //等待 t ...
阅读全文 »
上一页123…5下一页
soundslow

soundslow

I take the newer medications, but I still see things that are not here.

42 日志
8 分类
101 标签
RSS
GitHub CSDN 豆瓣 知乎
友情链接
  • 阿里中间件
  • 美团点评
  • IBM
© 2013 — 2020 soundslow
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4
本站总访问量 次 | 访问人数 人
博客全站共85.6k字