封装initWithNSDictionary:方法 该方法接收NSDictionary对象, 返回PersonModel对象. pragma mark 使用runtime将JSON转成Model (void)json2Model { NSString file = [[NSBundle mainBu ...
分类:
Web程序 时间:
2018-04-25 14:55:51
阅读次数:
248
1 acid a是atomic,指的是事务中的操作要么全部执行成功,要么全部都不执行。 c是consistency,指的是事务的执行结果是正确的,比如A给B转帐,A扣了10块钱,B加了10块钱,该事务执行完之后,就应该是A的账户少了10块钱,而B的账户多了10块钱。 i是isolation,指的是事 ...
分类:
数据库 时间:
2018-04-22 12:57:19
阅读次数:
193
注册中心 在分布式架构中注册中心起到了管理各种服务功能包括服务的注册、发现、熔断、负载、降级等功能,在分布式架构中起到了不可替代的作用。常见的注册中心有eureka,zookeeper等等,在springcloud中,它封装了Netflix公司开发的Eureka模块来实现服务的注册与发现,简单的来说 ...
分类:
编程语言 时间:
2018-04-20 23:29:27
阅读次数:
210
先导入 然后在 info.plist 文件中添加 Privacy - Location Always and When In Use Usage Description 和 Privacy - Location When In Use Usage Description 两个就可以了。 Locati ...
分类:
其他好文 时间:
2018-04-19 17:01:31
阅读次数:
215
Windows和POSIX中都提供了自旋锁,我们也可以通过C++11的atomic来实现自旋锁。那么两者性能上面是什么关系?先引入实现代码: 下面给出一个简单测试,两组线程,一组用来插入,另外一组用来取出。测试结果显示: (1)无论是Windows,还是POSIX提供的C语言版本的自旋锁,都和C++ ...
代码演示: 代码运行结果: 代码解读: 互斥锁用来使go协程间访问数据更加安全,当一个数据上锁之后,其它人就无法就该数据进行操作,一直到解锁后 以上例子中,我们对state这个map进行了读写操作,并在读写过程中运用互斥锁 本例中创建了一个读的函数和一个写的函数,均运用了互斥锁 最终打印state时 ...
分类:
编程语言 时间:
2018-04-17 22:18:08
阅读次数:
158
AtomicInteger在多线程并发场景的使用 AtomicInteger提供原子操作来进行Integer的使用,因此十分适合高并发情况下的使用。 AtomicInteger位于包package java.util.concurrent.atomic下,主要源码如下: 首先看到改类里有两个私有的静 ...
分类:
其他好文 时间:
2018-04-13 18:00:37
阅读次数:
136
用FindBugs跑自己的项目,报出两处An increment to a volatile field isn’t atomic。对应报错的代码例如以下: volatile int num = 0; num++; FindBugs针对这样的类型的错误给出了对应的解释 An increment to ...
分类:
其他好文 时间:
2018-04-05 21:00:20
阅读次数:
214
一、Atomic简介 Atomic包是java.util.concurrent下的另一个专门为线程安全设计的Java包,包含多个原子操作类。这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时 ...
分类:
其他好文 时间:
2018-04-05 18:36:58
阅读次数:
203
ITK是一个功能很强大的医学图像处理公开库,搭配VTK用以显示图像,可以实现几乎所有医学图像处理的功能需要。ITK通常以C++包进行提供,当然也可以自己编译为Python包,不过编译过程比较繁琐耗时,而且很容易踩坑。但ITK官方进行的Python封装SimpleITK,则直接可以拿来使用;虽然有部分 ...
分类:
其他好文 时间:
2018-04-03 15:28:17
阅读次数:
709