协程和多线程下的线程类似:有自己的堆栈,自己的局部变量,有自己的指令指针,但是和其他协程程序共享全局变量等信息。线程和协程的主要不同在于:多处理器的情况下,概念上来说多线程是同时运行多个线程,而协程是通过协作来完成,任何时刻只有一个协程程序在运行。并且这个在运行的协程只有明确被要求挂起时才会被挂起
你可以使用coroutine.create来创建协程:
co = coroutine.c...
分类:
其他好文 时间:
2014-10-06 01:28:19
阅读次数:
336
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-10-05 11:03:18
阅读次数:
276
1.子进程是父进程的副本,获得父进程的数据空间/堆/栈,父子进程共享代码段.子进程从fork后开始执行,返回值=0表示子进程,因为子进程可以通过函数来获取父进程的ID,但是父进程无法知道子进程的ID.
2.为了提交效率,fork后,并不立刻复制父进程的空间,而是采取写时复制(COW)的技术,也就是父进程或者子进程要修改数据段/堆/栈的时候,才进行复制操作,并且复制修改的区域.
3.子进程从父进...
分类:
其他好文 时间:
2014-10-03 20:13:55
阅读次数:
151
在开始介绍锦中的数据类型之前,理解C#把数据类型分为两种非常重要:值类型引用类型从概念上看,其区别是值类型直接存储其值,而引用类型存储对值的引用。这两种类型存储在内存的不同地方:值类型存储在堆栈中,而引用类型存储在托管堆上。注意区分某个类型是值类型还是引用类型,因为这种存储位置的不同会有不同的影响。...
分类:
其他好文 时间:
2014-10-03 18:39:34
阅读次数:
150
先说说内联函数的优点: 将函数改写成inline函数, 可以避免当函数被调用时所发生的堆栈操作, 这自然可以提高代码的执行效率 一般将inline函数写在头文件中, 并且建议将其写在类结构之外, 也就是类结构定义的下面, 而不是写在类结构的里面.当然写在里面也没什么不行, 只是如果写在外面的话,.....
分类:
其他好文 时间:
2014-10-02 18:01:03
阅读次数:
151
1. c++提供了太多的存储对象的方式: 堆 栈 全局数据区2. c++提供了太多的访问对象的方式: 变量指针 引用这样, 对于对象的操作就有9种不同的组合了, 所以c++显得比较复杂. 所以想灵活熟练的使用c++, 就得对上面所述的9中对象的操作了如指掌才可以.
分类:
编程语言 时间:
2014-10-02 17:13:33
阅读次数:
152
1.什么是异常 (1)异常的基本思路是让一个函数发现自己无法解决的错误时抛出异常,让调用者来解决。异常处理机制类似于编译时的类型检查和歧义性控制在运行时的对应物,它是一种非局部的控制结构,在抛出异常时,我们用堆栈回退来找到能处理异常的上层函数。有人把异常想象成程序中那些无法挽回的重大错误,但是异常....
分类:
编程语言 时间:
2014-10-02 16:16:33
阅读次数:
178
在模拟器上调试时,经常遇到内存访问错误,如下:2012-02-14 11:21:11.41 App[2433:205] *** -[Test retain]: message sent to deallocated instance 0x11e4fb1.在设置了MallocStackLogging之...
分类:
其他好文 时间:
2014-10-01 03:41:00
阅读次数:
287
码农充电站--进程与线程进程是容器,本身不是执行实体,线程才是执行实体。进程由两部分组成,1、内核对象,实质是一个数据结构,由操作系统管理2、DLL和执行体(包含堆、栈、代码段)32位的平台下,每个进程有4GB的虚拟内存。由于进程的开辟和加载,操作系统都要切换上下文环境,因此消耗资源比较大。而同一进...
分类:
编程语言 时间:
2014-10-01 01:46:40
阅读次数:
452
我们今天将讨论的是8大你不得不知的Android调试工具,这些工具部分属于系统自带,也是一种方式方法,希望对大家有所帮助。1. 查看当前堆栈1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系2) 方法:new Exception(“print trace”).print...
分类:
移动开发 时间:
2014-09-30 22:01:00
阅读次数:
295