并行:同一时刻,有多条指令在多个处理器上同时执行。
并发:同一时刻,只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。
进程一般具有以下4大要素:
1、有一段程序供其执行(该程序可以多个进程共用)。
2、有专用的系统堆栈空间。
3、在内核中有对应的进程控制块。
4、有独立的存储空间,意味着拥有专有的用户空间。
线程相对于进程而言...
分类:
编程语言 时间:
2015-04-08 16:33:29
阅读次数:
146
Javascript中的几种包装类型一:Stringstring类型是属于基本类型,不属于引用类型,那就说明string的值是保存在“栈”上面的,而很多语言不是这样,比如C#,我觉得js不作为引用类型也是情有可原,毕竟它玩不了多线程,而C#中一个线程栈空间只分配1M,如果string在C#中是值类型..
分类:
编程语言 时间:
2015-04-04 16:55:56
阅读次数:
163
进程空间讲解: 一个进程会分配一块内存空间 进程空间 分为五层空间。 1.Stack(栈) 2.未启用的空间 3.Head(堆) 4.Global Data 5.Text 第一层为栈空间,以帧(stack frame)为单位。 每个帧对应一个函数,保存着函数的参数,局部参数,返回地址。(补充,jav...
分类:
其他好文 时间:
2015-03-30 14:34:37
阅读次数:
118
字符串的存储位置到底在哪儿?按照我以前编汇编代码的经验,字符串肯定是放在数据段。但是在C/C++中,这个却不一定成立吧!昨天晚上跟群里的同学讨论,我们观点不太一样,他认为应该直接存在函数的栈空间。我可以肯定字符串常量会放在数据段,但是对字符数组我确实不太确定了。所以就分别在VC和GCC下试了试,看了个简单程序的反汇编代码。首先看看VC的吧:#include "string.h"
#include "...
分类:
其他好文 时间:
2015-03-16 14:35:00
阅读次数:
155
1.进程与线程 1)用户空间角度: 进程:fork()创建进程,在创建时,重新申请了内存空间,copy了父进程的所有信息。 线程:pthread_create()创建进程时,只申请自己的栈空间。 2)内核空间: 对内核空间,两者都有自己的pid,因此内核空间不区分。2.基本函数: 1)创...
分类:
编程语言 时间:
2015-03-12 00:48:58
阅读次数:
243
package bin;import java.util.ArrayList;import java.util.List;import javax.management.RuntimeErrorException;/** * @author bin 15/3/10 * target 共享栈空间 *....
分类:
编程语言 时间:
2015-03-10 19:01:51
阅读次数:
219
递归定义很简单,效率当然很低下,且极易超出栈空间大小,这样做纯粹是为了体现python的语言表现力而已, 并没有任何实际意义。1 def fib(x):2 return fib(x-1) + fib(x-2) if x - 2 > 0 else 1
分类:
其他好文 时间:
2015-02-18 06:10:22
阅读次数:
239
一、线程的基本概念简单的说:线程就是一个程序里不同的执行路径,在同一个时间点上cpu只会有一个线程在执行,Java里的多线程是通过java.lang.Thread类来实现的,每个线程都拥有自己独立的方法栈空间。二、java线程的创建和启动第一种定义线程类实现Runnable接口:Thread myT...
分类:
编程语言 时间:
2015-02-13 22:20:30
阅读次数:
249
一.block的内存分析如上图:定义了一个weak的block,那么它在内存中的表现形式如右下角,1.没有对block进行copy操作,而是weak,block就存储在栈空间中.2.如果block存储于栈空间,不会对block内部所用到的对象产生强引用.如上图:对block进行了一次copy操作,如...
分类:
其他好文 时间:
2015-02-11 18:01:46
阅读次数:
530
今天终于知道linux栈空间了。因为写了个简单程序,可以让linux的栈空间耗尽,然后出现core dumped,即栈溢出
代码如下:
#include
void overFlow()
{
long i;
printf("&i : %p\n",&i);
overFlow();
}
int main()
{
OverFlow();
}...
分类:
系统相关 时间:
2015-02-10 18:45:14
阅读次数:
271