三、多线程:1、进程和线程: 进程:正在进行的程序。每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。 线程:进程内部的一条执行路径或者一个控制单元。 两者的区别: 一个进程至少有一个线程 进程在执行过程中拥有独立的内存单元,而多个线程共享内存;2、jvm多线程的启动是多线程...
分类:
编程语言 时间:
2014-07-28 11:24:50
阅读次数:
360
共享内存允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种进程间通信机制。共享内存可以通过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
下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所...
分类:
系统相关 时间:
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
如今最经常使用的进程间通信的方式有:信号,信号量,消息队列,共享内存。 所谓进程通信,就是不同进程之间进行一些"接触",这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些massege。他们的用法是基本相同的,所以仅仅要掌握了一种的用法,然后记住其他的用.....
分类:
系统相关 时间:
2014-07-18 18:31:13
阅读次数:
305
当前的手机架构使用着多种处理器间通信方式,目前分离式AP、CP流行的接口有SPI、I2C、UART、USB和双端口互联等,SoC式则采用共享内存。控制命令以消息的格式在基带处理器和AP处理器间传送,完成通话、短消息、移动上网等功能,通信协议包括传统AT命令、MBIM等。一般来说,芯片都会支持多种接口,并设计通用的软件驱动平台驱动。...
分类:
其他好文 时间:
2014-07-17 20:29:11
阅读次数:
265
共享内存共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存写入了数据,共享这个内存区域的所有进程就可以立即看到其中的内容。共享内存实现分为连个步骤:一、创建共享内存,使用shmget函数。二、映射共享内存,将这段创建的共享内存映射到具体的进程空间去...
分类:
系统相关 时间:
2014-07-14 22:28:41
阅读次数:
334
本文介绍7种结构型模式里的剩下两种:享元模式、代理模式。一、享元模式FlyWeight 享元模式比较简单且重要,在很多场合都被用到,只不过封装起来了用户看不到。其概念:运用共享内存技术最大限度的支持大量细粒度的对象。这个概念给的有些抽象,说白了就是如果内存中存在某个对象A,如果再次需要使用对象A的时候如果内存中有A这个对象就直接使用它,不要再次new了。如果没有,则重新new一个。基于这个特点,享...
分类:
编程语言 时间:
2014-07-12 17:27:16
阅读次数:
180
共享内存系统是普通单机程序开发人员熟悉的开发范式,通过简单的使用读、写命令,就能确保将我们需要的值从内存中放入和读取出来,数据的一致性等问题,在单机系统中,开发人员根本不需要考虑,比如你不需要考虑当你进行了i=i+1后,再获取i的值时,i的值可能还没有来的及变化,因为这些都已经在读写原语的原子性中被考虑了,然而在分布式环境下,由于数据出现多个副本,且副本的数量有可能动态增加和减少,要实现同样的功能,又能保证读写性能,就需要新的算法和实现。本文介绍了分布式环境下实现共享内存模型会遇到的各种问题和挑战,针对不同...
分类:
其他好文 时间:
2014-07-10 20:12:10
阅读次数:
341