在python中,对象的赋值、拷贝(深浅)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果。 其实这些问题是由共享内存导致的结果 拷贝原则上是把数据分离出来,复制其数据,以后修改互不影响。 =是赋值,数据完全共享(=赋值是在内存中指向同一个对象,如果是可变类型,如列表,修改其中一个(不是重 ...
分类:
编程语言 时间:
2019-12-05 18:43:10
阅读次数:
74
恢复内容开始 1. java内存模型即java Memory Model,简称JMM.JMM定义了Java虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 2.并发编程有两个关键问题:线程之间的通信和同步。 3.线程之间的通信机制有两种:共 ...
分类:
编程语言 时间:
2019-12-03 19:38:23
阅读次数:
89
k8s核心的资源对象:Pod:是运行以及调度的原子单位,也就是k8s中最小的资源单位,同一个pod可以同时运行多个container,多个container之间共享:(UTS(主机名和域名),IPC(消息队列和共享内存),NET(网络栈,端口等),namespace(名称空间)),但USR(用户和组),MNT(挂载点),PID(进行编号)是相互隔离的。pod有两种类型的pod:一类是由控制器控制的
分类:
其他好文 时间:
2019-12-02 15:20:49
阅读次数:
176
翻译自PGI Compiler User's Guide 1.6. 使用PGI编译器进行并行编程 PGI编译器支持多种样式的并行编程: 使用pgf77,pgf95,pgfortran,pgcc或pgc +++的-?Mconcur选项的 自动共享内存并行程序(Automatic shared-memo ...
分类:
其他好文 时间:
2019-11-30 11:12:44
阅读次数:
104
由于本人从事行业关系,Linux环境下的低延迟通信是我关注的技术之一。要达到极端的低延迟,当然同机器内IPC比网络通信快,而Linux IPC方式中无疑是共享内存延迟最低。不过相对于TCP这种通用的通信方式来说,共享内存缺少了一些控制层的协议,比如进程A和B通过一个基于共享内存的消息队列通信,A很难 ...
分类:
编程语言 时间:
2019-11-25 23:59:26
阅读次数:
158
1.打开大文件需要注意的地方 2.打开文件系统所发生的的过程 3.linux下静态库和动态库的区别. 4.对于一个int变量如何保证多线程同步安全 volatile 5.数据模块没有考虑数据缓存层 6.内存泄漏如何检测,工具不靠谱,那就自己封装new方法. 7.死锁如何解除 8.进程间共享内存. 9 ...
分类:
其他好文 时间:
2019-11-25 23:46:13
阅读次数:
95
在多进程程序中(vfork创建的多进程除外),即使是全局变量也无法共享,各个进程都会保存局部变量或全局变量的副本,供自己使用。 共享内存将文件地址映射到内存中即可让多个进程共享内存中的数据。 内存映射API #include<sys/mman.h> void *mmp(void *addr, siz ...
分类:
其他好文 时间:
2019-11-25 18:12:54
阅读次数:
80
一直对匿名管道这个名字有着相当的兴趣,然而至今没有完全弄明白匿名管道的原理,可能本人的记忆属于感觉型的,没有经历过的东西印象始终不深,以至于一些技术虽然当时理解了,一段时间之后使大抵的都忘了。 现在有一种更简单,且觉得相当实用的数据传递方法,记录下来以加深记忆。 共享内存 其实微软件的sendmes ...
分类:
其他好文 时间:
2019-11-21 11:50:24
阅读次数:
72
int pid = fork(); if (pid == -1 ) {//返回-1,说明fork失败 perror("fork"); exit(1); } else if (pid > 0) {//返回子进程pid,说明是父进程 } else if (pid == 0) {//返回0,说明是子进程 ...
分类:
系统相关 时间:
2019-11-16 23:05:58
阅读次数:
88
ipcs/ipcrm命令 是linux/uinx上提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号 多进程间通信常用的技术手段包括共享内存、消息队列、信号量等等,Linux系统下自带的ipcs命令是一个极好的工具,可以帮助我们查看当前系统下以上三项的使用情况,从而利于定位多进程通信中出 ...
分类:
系统相关 时间:
2019-11-16 14:42:18
阅读次数:
116