一、创建线程安全的okhttp单例 重试拦截器: 注意:两处while是因为如果请求中出现异常,也能进行重试,比如超时,后面会有例子。 网络拦截器,打印请求、响应时间、响应状态码,响应内容 二、GET请求 1、待参数的get请求 测试: 2、不带参数的get请求 测试: ...
分类:
Web程序 时间:
2019-09-21 10:37:44
阅读次数:
1302
应用举例 应用举例 假设在一个应用系统中,有一个共享的数据必须被并发同时访问,首先,将这个数据封装在数据对象中,称为Data Class,同时,将有多个访问类,专门用于在同一时刻访问这同一个数据对象。 为了完成上述并发访问同一资源的功能,需要引入锁Lock的概念,也就是说,某个时刻,当有一个访问类访 ...
分类:
系统相关 时间:
2019-09-18 11:24:56
阅读次数:
150
1.轻量级锁(Lock)与重量级锁(synchronized):都是可重入锁 2.可重入锁(递归锁):方法中嵌套方法,锁可传递 3.读写锁(ReentrantReadWriteLock)--读写分离 读锁(获取该值信息)和写锁(对该值操作) 4.乐观锁 本质没有锁,效率比较高、无阻塞、无等待、重试。 ...
分类:
其他好文 时间:
2019-09-15 14:14:55
阅读次数:
130
1. 不要频繁打开关闭串口,这是个耗时的过程,如果多个工位都争夺串口资源,则会出现卡顿,死锁。 2. PLC 的读写估计100毫秒,如果并发的写,有的写操作会失败,需要Delay或重试。 3. 通常一个工位的某个操作(启动/停止/暂停/状态/) 都会用一个字节的一个位来标识,你可以按字节用批量写入/ ...
分类:
其他好文 时间:
2019-09-13 01:34:52
阅读次数:
87
wagon http 3.2.0 shaded.jar 下载主要用的是这个包,mac位于路径 下 如图,即使修改jar包的名字,也不影响使用,因为只要保证在CLASS_PATH里就行,和名字无关 依赖包说明 可以修改依赖包源码,重新打包,以控制下载操作,比如修改超时时间,重试次数等 http://m ...
分类:
其他好文 时间:
2019-09-12 09:56:44
阅读次数:
107
一、SSH协议及配置文件SSH服务配置文件:?服务名称:sshd?服务端主程序:/usr/sbin/sshd?服务端配置文件:/etc/ssh/sshd_config二、服务监听选项:?端口号,协议版本,监听IP地址?禁用反向解析三、用户登录控制?禁止root用户,空密码用户?登录时间,重试次数?AllowUsers,DenyUsers(配置文件中手工添加)四、SSH服务实验解析:1、默认其他终端
分类:
移动开发 时间:
2019-09-09 21:00:54
阅读次数:
126
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景: 一个订单创建接口,第一次调用超时了,然后调用方重试了一次 一个订单创建接口,第一次调用超时了,然后调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了超 ...
分类:
其他好文 时间:
2019-09-05 18:22:25
阅读次数:
118
文章目录 1. 什么是幂等性?1.1 消息队列的幂等性1.2 模拟重试机制1.2.1 生产者代码1.2.2 消费者代码1.2.3 消费者 application.yml 配置2. 如何保证消息幂等性,不被重复消费?解决方法 1. 什么是幂等性? 在编程中一个幂等操作的特点是其任意多次执行所产生的影响 ...
分类:
其他好文 时间:
2019-09-05 00:39:06
阅读次数:
139
关于重试 开发中经常要调用其他项目提供的Api,这些Api可能是同公司其他团队或其他公司提供的,所以避免不了会出现网络抖动调用失败的情况,这种情况下往往重试一次就正常了。对于add或update操作,如果是非幂等性操作,要谨慎使用,重试可能会造成业务异常。 可以使用apache HttpClient ...
分类:
编程语言 时间:
2019-09-01 14:28:59
阅读次数:
97
Lock的使用 代码: 结果: lock与synchronized的区别 lock 获取锁与释放锁的过程,都需要程序员手动的控制 Lock用的是乐观锁方式。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。乐观锁实现的机制就 是CAS操作 synchr ...
分类:
编程语言 时间:
2019-09-01 10:28:27
阅读次数:
59