进程间通讯有多种方式,包括信号,管道,消息队列,信号量,共享内存,socket等1.共享内存Python可以通过mmap模块实现进程之间的共享内存mmap文件对象既像一个字符串也像一个普通文件对象。像字符串时因为我们可以改变其中的单个字符,如,obj[index] = 'a',同时我们也可以改变一小...
分类:
编程语言 时间:
2014-07-28 23:46:04
阅读次数:
349
三、多线程:1、进程和线程: 进程:正在进行的程序。每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。 线程:进程内部的一条执行路径或者一个控制单元。 两者的区别: 一个进程至少有一个线程 进程在执行过程中拥有独立的内存单元,而多个线程共享内存;2、jvm多线程的启动是多线程...
分类:
编程语言 时间:
2014-07-28 11:24:50
阅读次数:
360
解题报告
题目传送门
题意:
每天有12节课,一周上7天,一门课在一周有多天上课。求一周最多上几节课。
思路:
把课程看成一个集合,上课的时间看成一个集合,二分图就出来了。
#include
#include
#include
using namespace std;
int n,day[10][15],mmap[500][500],vis[500],cnt,pre[500];...
分类:
其他好文 时间:
2014-07-27 11:24:42
阅读次数:
227
解题报告
题目传送门
题意:
n只地鼠,m个洞,老鹰的到达地面的时间s,地鼠的移动速度v,求多少只地鼠会被老鹰吃了。
思路:
地鼠和洞看成两集合,建立二分图。只有当地鼠到洞的时间少于老鹰到地面的时间才连边。
#include
#include
#include
#include
using namespace std;
int n,m,s,v,mmap[500][500],v...
分类:
其他好文 时间:
2014-07-27 11:23:02
阅读次数:
240
解题报告
题目传送门
题意:
求满足条件的最大集合:集合内任何两个人都没有浪漫关系
思路:
跟POJ2771一样的题,变的简单多了。POJ2771解题报告
#include
#include
#include
#include
using namespace std;
int n,mmap[550][550],pre[550],vis[550];
int dfs(int x)...
分类:
其他好文 时间:
2014-07-27 11:21:32
阅读次数:
212
共享内存允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种进程间通信机制。共享内存可以通过mmap()映射普通文件(特殊情况下还可以采用匿名映射)机制实现,也可以通过系统V共享内存机制实现。应用接口和原理很简单,内部机制复杂。为了实现更安全通信,往往还与信号量等同步机制共同使用。下面主要介绍系统V共享内存机制,主要用到的系统API包括:
1.shmget函数:获得一个...
分类:
系统相关 时间:
2014-07-26 02:33:37
阅读次数:
317
并发编程
线程通信
共享内存和消息传递
线程同步
控制不同线程的执行顺序
java并发
基于共享内存模型指令重排序
编译器重排序处理器重排序
cpu重排序写缓存区(cache、寄存器)
内存屏障顺序一致性与Happens-before执行结果有序性
volatile
解决内存可见性问题
锁
lock 显示锁
可中断可定时...
分类:
编程语言 时间:
2014-07-25 11:24:11
阅读次数:
275
解题报告
求最长路。
用SPFA求最长路,初始化图为零,dis数组也为零
#include
#include
#include
#include
#include
#define inf 99999999
#define N 110
using namespace std;
int mmap[N][N],dis[N],vis[N],n;
void spfa(int s)
{
...
分类:
其他好文 时间:
2014-07-24 17:43:16
阅读次数:
280
下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所...
分类:
系统相关 时间:
2014-07-24 14:40:05
阅读次数:
384
kernel.shmmax=2147483648//
该参数定义了共享内存段的最大尺寸(以字节为单位)。其值应>=sag_max_size初始化参数的大小,否则SAG由多个内存段构成,效率降低,还要不小于物理内存的一半,默认情况下在32位x86系统中,Oracle
SGA最大不能超过1.7GB.缺省为32M,对于oracle来说,..
分类:
其他好文 时间:
2014-07-23 21:28:36
阅读次数:
311