并发的简单介绍

介绍:

  当两个或两个以上的任务同时执行时就发生了并发. 即使只有一个CPU,现代操作系统也能够在同时执行多个任务.要实现这一点,需要给每个任务从CPU重分配一定的时间片 .例如,要在1秒内执行10个同样有限级的人物,操作系统会用10来平均分配1000毫秒,那么每个任务就会有100毫秒的CPU 时间.

    随着技术进步,现在的CPU有不止一个内核,这就意味着CPU真正具备了同时执行多个任务的能力.

    Grand Central Dispatch(dispatch [派遣,分派]),简称GCD,是一个与Block Object一起工作的底层C API .GCD真正的用途是将任务分配到多个核心又不让程序员担心哪个内核执行哪个任务.

    GCD的核心是分派队列.你不会直接与线程有工作关系,你只在分派队列上的工作,将任务分派到这个队列上并要求队列来调用你的任务.GCD为运行任务提供了几个选择:同步执行  异步执行   延迟执行等.

要在APP中开始使用GCD,你没有必要将任何特殊库导入你的项目.GCD中的所有方法和数据类型都以 dispatch_关键词开头。例如,dispatch_async 允许你在一个队列上分派任务来异步执行,而 dispatch_after 允许你在一个给定的延迟之后运行一个 block。

时间: 2024-11-15 08:20:54

并发的简单介绍的相关文章

ab工具使用(测试平台的并发性能)简单介绍一下

Apache -- ab工具主要测试网站的(并发性能) 这个工具非常的强大. 基本语法 :   cmd>ab.exe –n 请求总次数  -c 并发数 请求页面的url    进入到ab.exe目录 举例:  cmd>ab.exe –n 10000 –c 100 http://localhost/test.php 简单test结果简单介绍一下: ab工具使用(测试平台的并发性能)简单介绍一下

并发的简单介绍2

1.我们会一直和分派队列打交道,所以请确保你完全理解了其背后的概念.下面有 3 种分 派队列: Main Queue 这个队列在主线程上执行它的所有任务,Cocoa 和 Cocoa Touch 允许程序员在主线程 上调用一切 UI-related 方法.使用 dispatch_get_main_queue 函数检索到主队列的句柄. Concurrent Queues 为了执行异步和同步任务,你可以在 GCD 中检索到这些队列.多个并发队列能够轻而 易举的并行执行多个任务,没有更多的线程管理,酷!

plsql的环境与介绍:环境的搭建和plsql的简单介绍

PLSQL编程 1.环境的搭建 (1)创建一个存储表空间 SQL> conn /as sysdbaConnected. SQL> create tablespace plsql datafile '/u01/oracle/oradata/ORCL/plsql01.dbf' size 1G; Tablespace created. (2)创建PLSQL用户SQL> create user plsql identified by plsql default tablespace plsql;

漫游Kafka入门篇之简单介绍

原文地址:http://blog.csdn.net/honglei915/article/details/37564521 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳. 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,

iOS开发多线程篇 09 —NSOperation简单介绍

iOS开发多线程篇—NSOperation简单介绍 一.NSOperation简介 1.简单说明 NSOperation的作?:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: (1)先将需要执行的操作封装到一个NSOperation对象中 (2)然后将NSOperation对象添加到NSOperationQueue中 (3)系统会?动将NSOperationQueue中的NSOpe

WebSocket简单介绍

Java后端WebSocket的Tomcat实现 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据. 我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端发送数据:

iOS开发多线程篇—多线程简单介绍

iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcode,系统就会分别启动2个进程 通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 比如使用酷狗播放音乐.使用迅雷下载电影,都需要在线程中执行 3.线程

iOS开发多线程篇—NSOperation简单介绍

iOS开发多线程篇—NSOperation简单介绍 一.NSOperation简介 1.简单说明 NSOperation的作?:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: (1)先将需要执行的操作封装到一个NSOperation对象中 (2)然后将NSOperation对象添加到NSOperationQueue中 (3)系统会?动将NSOperationQueue中的NSOpe

MongoDB(一)——简单介绍

这两天简单学习了一下MongoDB数据库,属于NoSQL类型数据库的一种,先简单宏观的看一下NoSQL的相关知识和MongoDB的基础知识. NoSQL是Not Only SQL的缩写,它指的是非关系型数据库,即有别于Oracle,mysql,sqlserver等常用的关系型数据库.它是以key-value形式存在,即我们熟悉的JSON数据形式. 发展:NoSQL是随着互联网Web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模数据量和高并发的SNS类型的web2.0纯动