1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1...
分类:
编程语言 时间:
2016-01-26 13:57:31
阅读次数:
304
这一章节我们来讨论一下临界区。一般来说,我们使用多线程都是直接在方法上面加上synchronized,但是其实这样有些时候对于性能来说,有所欠缺,因此今天来讨论一下临界区的问题。1.一般做法的例子class ThreadA implements Runnable {
private synchronized void test() throws InterruptedException {
...
分类:
编程语言 时间:
2016-01-26 12:38:10
阅读次数:
148
单例模式的实现方式总结:第一种方式:同步获取实例的方法,多线程安全,懒汉模式.在调用实例的时刻初始化.public class Singleton1 { private static Singleton1 instance = null; private Singleton1() { ...
分类:
编程语言 时间:
2016-01-26 12:20:04
阅读次数:
170
1、内核多线程相关内容1.1 头文件#include 1.2 定义/初始化变量struct mutex SPI_work; /*定义互斥体*/mutex_init(&SPI_work); /*初始化*/mutex_lock(&SPI_work); func();mutex_...
分类:
编程语言 时间:
2016-01-26 10:36:48
阅读次数:
218
在ios中,使用多线程有三种方式,分别是:NSThread、NSOperation和NSOperationQueue、GCD,在本节,主要讲解一下CDD的使用。 GCD(Grand Central Dispatch) ,他是基于C语言开发的一套多线程开发机制,也是目前苹果官方推荐的多线程开发方...
分类:
移动开发 时间:
2016-01-26 10:22:45
阅读次数:
214
写这篇博客的目的是为了跟大家分享本人对多线程的一些浅显的理解,顺道梳理一遍自己掌握的知识,如有不妥之处,欢迎各位大牛指正.首先要理解两个概念:进程(Process):程序的一次运行,拥有独立的内存地址空间(一个iOS应用只有一个进程).线程(Thread):1.线程是进程的基本执行单元,是操作系统可...
分类:
编程语言 时间:
2016-01-26 00:28:17
阅读次数:
237
这样的方法,在获取单利的时候,避免了线程锁,导致訪问该方法速度非常慢,同是,防止了多线程同事房屋该方法就会产生多个实例的问题。效率高。线程安全。public class TestInstance{private staticTestInstance instance;public staticTes...
分类:
编程语言 时间:
2016-01-25 19:18:05
阅读次数:
186
1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 2 { 3 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORI...
分类:
移动开发 时间:
2016-01-25 17:05:05
阅读次数:
152
1 @implementation HMViewController 2 3 - (void)viewDidLoad 4 { 5 [super viewDidLoad]; 6 7 [self performSelectorInBackground:@sel...
分类:
移动开发 时间:
2016-01-25 17:03:01
阅读次数:
250
1 #import "HMViewController.h" 2 3 @interface HMViewController () 4 @property (weak, nonatomic) IBOutlet UIImageView *imageView1; 5 @property (...
分类:
移动开发 时间:
2016-01-25 16:45:45
阅读次数:
190