nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所 以在iPhone这种小型...
分类:
编程语言 时间:
2014-06-28 20:17:39
阅读次数:
276
深入分析Volatile的实现原理
引言
在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。
它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上I...
分类:
其他好文 时间:
2014-06-21 19:47:44
阅读次数:
688
相对于使用进程实现并发,用线程的实现更加轻量。每个线程都是独立的逻辑流。线程是CPU上独立调度运行的最小单位,而进程是资源分配的单位。当然这是在微内核的操作系统上说的,简言之这种操作系统的内核是只提供最基本的OS服务,更多参看点击打开链接
每个线程有它自己的线程上下文,包括一个唯一的线程ID(linux上实现为unsigned long),栈,栈指针,程序计数器、通用目的寄存器和条件码,...
分类:
编程语言 时间:
2014-06-16 12:28:38
阅读次数:
296
Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile
关键字机制在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问...
分类:
编程语言 时间:
2014-06-10 21:21:56
阅读次数:
324
转:java中volatile关键字的含义在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了
同步块 和 volatile 关键字机制。sy...
分类:
编程语言 时间:
2014-06-06 08:16:27
阅读次数:
342
大家都知道Core
data本身并不是一个并发安全的架构;不过针对多线程访问带来的问题,Apple给出了很多指导;同时很多第三方的开发者也贡献了很多解决方法。不过最近碰到的一个问题很奇怪,觉得有一定的特殊性,与大家分享一下。这个问题似乎在7.0.1以前的版本上并不存在;不过后来我升级版本到了7.0....
分类:
移动开发 时间:
2014-06-05 13:39:57
阅读次数:
324
本文介绍一个简单的多线程并发爬虫,这里说的简单是指爬取的数据规模不大,单机运行,并且不使用数据库,但保证多线程下的数据的一致性,并且能让爬得正起劲的爬虫停下来,而且能保存爬取状态以备下次继续。
分类:
编程语言 时间:
2014-05-26 15:41:47
阅读次数:
394
本文介绍一个简单的多线程并发爬虫,这里说的简单是指爬取的数据规模不大,单机运行,并且不使用数据库,但保证多线程下的数据的一致性,并且能让爬得正起劲的爬虫停下来,而且能保存爬取状态以备下次继续。
爬虫实现的步骤基本如下:分析网页结构,选取自己感兴趣的部分;建立两个Buffer,一个用于保存已经访问.....
分类:
编程语言 时间:
2014-05-26 13:13:56
阅读次数:
318
伴随着多核时代的到来,怎样充分利用好你的多个CPU的优势成了技术的关注点,那就是多线程多进程编程,二者的区别也很明显,进程是操作系统中拥有资源的最小单位,但是是重量级的。线程是系统调度的最小单位,是轻量级的,一个进程可以拥有很多个线程,但是线程是不拥有资源的,同一个进程中的线程共享这个进程中拥有的资源。以前学习java,一个灰常重要的并发方式就是多线程,因为线程的开销要比进程的少很多,而通过加锁来...
分类:
编程语言 时间:
2014-05-24 23:04:56
阅读次数:
389
今天跟同事讨论了一下多线程并发问题,为了验证自己的想法,写了如下代码:
package com.zken.pkg;
public class MultiThread implements Runnable {
private String name;
public String getName() {
return name;
}
public void setName(Str...
分类:
编程语言 时间:
2014-05-15 23:28:01
阅读次数:
492