简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。...
分类:
编程语言 时间:
2014-07-22 23:14:34
阅读次数:
509
fork两次然后在孙子进程中调用某函数避免孙子进程被kill掉产生僵尸进程 /*
这样做儿子进程很快就会退出,所以孙子进程不太可能产生僵尸进程,即使产生时间也极其短暂 */#include #include #include void
fork_grandson_run(void func(void...
分类:
其他好文 时间:
2014-05-05 22:13:00
阅读次数:
445
MongoDB采用了磁盘空间预分配的机制,为了避免磁盘碎片以及使用mmap后造成的近一步的内存碎片,但是随着数据的增删除改操作,数据文件不可避免的会产生空洞,造成磁盘空间和内存的浪费。本文说的是这方面的压缩,数据使用某些压缩算法进行压缩的讨论不在此范围。在MongoDB
中,大概有两种方法可以解决这...
分类:
数据库 时间:
2014-05-01 15:55:48
阅读次数:
428
原型:#include
void * mmap(void *addr, size_t len, int port, int flag, int fildes)参数fd为即将映射到进程空间的文件描述字,一般由open()返回,同时,fd可以指定为-1,此时须指定flags参数中的MAP_ANON,表明进行的是匿名映射(不涉及具体的文件名,避免了文件的创建及打开)
实际上目前的glibc 对mal...
分类:
其他好文 时间:
2014-04-30 22:23:40
阅读次数:
307
OpenMP是一种应用程序接口(API),支持多平台共享内存的C/C++/Fortran多处理器编程,可以运行在绝大多数处理器架构和操作系统上,包括Solaris, AIX, HP-UX, GNU/Linux, Mac OS X和Windows平台。它由编译器指令集、库函数和环境变量组成,影响运行时行为。...
分类:
移动开发 时间:
2014-04-29 13:44:23
阅读次数:
550
代码来自于这里
https://code.google.com/p/stanford-cs193g-sp2010/source/browse/trunk/tutorials/sum_reduction.cu...
分类:
其他好文 时间:
2014-04-29 13:13:20
阅读次数:
324
说起共享内存,一般来说会让人想起下面一些方法:1、多线程。线程之间的内存都是共享的。更确切的说,属于同一进程的线程使用的是同一个地址空间,而不是在不同地址空间之间进行内存共享;2、父子进程间的内存共享。父进程以MAP_SHARED|MAP_ANONYMOUS选项mmap一块匿名内存,fork之后,其...
分类:
系统相关 时间:
2014-04-28 12:30:07
阅读次数:
720