摘要 我们在做一些query 操作的时候,经常会需要同步至url, 在这里我们可以使用 react router redux 实现即可 两者的区别 push 是往 history 里面增加一层堆栈, history 是直接替换当前url ...
分类:
其他好文 时间:
2018-06-26 01:09:33
阅读次数:
143
wait,notify,notifyAll 是定义在Object类的实例方法,用于控制线程状态,在线程协作时,大家都会用到notify()或者notifyAll()方法,其中wait与notify是java同步机制中重要的组成部分,需要结合与synchronized关键字才能使用,在调用一个Obje ...
分类:
编程语言 时间:
2018-06-04 19:18:07
阅读次数:
163
吾生也有涯,而知也无涯。———《庄子》通过上一篇文章,我们已经知道设计一个线程安全类的原则和步骤,以及在设计过程中我们应当注意的细节。实际上,Java 的集合库包含了线程安全集合和非线程安全集合,可以说 Java 的线程安全集合库就是按照前一篇说到的实例封闭、安全性的委托、组合这几个方式来实现的。这篇主要简单介绍 Java 集合库包含哪些常用的容器类,它们可以简单区分为:非同步集合同步集合并发集合
分类:
编程语言 时间:
2018-06-03 12:24:49
阅读次数:
243
闭锁CountDownLatch 闭锁是一种同步工具类,可以延迟线程的进度直到其到达终止状态。闭锁的作用相当于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭的,并且没有任何线程能通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。当闭锁到达结束状态后,将不会再改变状态,因此这扇门将永远保持打 ...
分类:
编程语言 时间:
2018-05-11 13:01:23
阅读次数:
215
前言 线程间的通信主要通过共享对字段的访问和对象引用字段的引用,可能会产生两种错误,线程干扰和内存一致性错误。Java的同步就是防止这些错误,但当多个线程访问同一资源会导致线程执行缓慢,甚至暂停执行。 线程干扰(Thread Interference) 例子 class Counter { priv ...
分类:
编程语言 时间:
2018-04-25 00:16:11
阅读次数:
174
说起BlockingQueue,大家最熟悉的就是生产者-消费者模式下的应用。但是如果在调用queue的上层代码加了同步块就会导致线程死锁。 例如: 但是同步块必须使用的情况下,怎样改进queue的使用呢?见下面示例: 运行结果 ...
分类:
编程语言 时间:
2018-04-17 15:40:54
阅读次数:
482
此篇博客所有源码均来自JDK 1.8 在前面提到过,AQS是构建Java同步组件的基础,我们期待它能够成为实现大部分同步需求的基础。AQS的设计模式采用的模板方法模式,子类通过继承的方式,实现它的抽象方法来管理同步状态,对于子类而言它并没有太多的活要做,AQS提供了大量的模板方法来实现同步,主要是分 ...
分类:
其他好文 时间:
2018-04-12 13:36:32
阅读次数:
244
Java 同步与异步 阻塞与非阻塞理解 Java 中同步与异步,阻塞与非阻塞都是用来形容交互方式,区别在于它们描述的是交互的两个不同层面。 同步与异步 同步与异步更关注交互双方是否可以同时工作。以同步的方式完成任务意味着多个任务的完成次序是串行的,假设任务 A 依赖于任务 B,那么任务 A 必须等到 ...
分类:
编程语言 时间:
2018-04-07 19:03:33
阅读次数:
147
在实际项目中,往往前端和后端使用不同的语言。比如使用C#开发客户端,使用Java开发服务器端。有时出于安全性考虑需要将字符加密传输后,由服务器解密获取。本文介绍一种采用DES算法的C#与Java同步加密解密的代码。 C#端代码:(注意:DES的秘钥采用8位字符) [csharp] view plai ...
分类:
编程语言 时间:
2018-03-31 00:35:25
阅读次数:
297
继上篇,这里改进增加了客户允许服务的时间范围这个维度,并且把C#版本翻译成java,加强了更加形象的图表展示路径(继续是用python的matplotlib作图)。 这里的时间范围维度是指:每个客户都有各自的被服务时间,比如从10:00到12:00是允许枢纽派车过去装货/卸货时间范围 其实主要还是修 ...
分类:
编程语言 时间:
2018-03-22 23:08:57
阅读次数:
362