Linux提供两种信号量:
1、内核信号量,由内核控制路径使用
2、System V IPC信号量,由用户态进程使用
从本质上说,它们实现了一个加锁原语,即让等待者睡眠,直到等待的资源变为空闲。
信号量
内核信号量类似于自旋锁,因为当锁关闭着的时候,它不允许内核控制路径继续运行。然而,当内核内核控制路径试图获取内核信号量所保护的忙资源时,相应的进程被挂起。只有在资源被释放时,进程才再次变...
分类:
其他好文 时间:
2014-05-18 18:43:39
阅读次数:
294
在java.io包中得操作主要有字节流与字符流两大类,两个类都有输入输出操作。
在字节流中,输出数据主要使用OutputStream类,输入使用的InputStream类。
在字符流中,输出数据使用Writer,输入数据使用Reader。
在Java中IO操作有相应的步骤,以文件的操作为例。
(1)使用File类打开一个文件
(2)通过字节流或字符流的子类指定输出的位置。
(3)进行读...
分类:
编程语言 时间:
2014-05-18 18:33:04
阅读次数:
270
刚开始对配置文件的认识比较模式,按照书上讲的,往程序中添加一个App.config文件,然后添加System.configuration引用就可以了。但是真正去做的时候也遇到不少问题,小小的总结一下。
首先,为什么要使用配置文件呢?
我们在连接数据库的时候,需要有一个对象来保存连接字符串,通常情况下这个字符串是写在程序代码中的,这样如果我们更换数据库访问时,我们还是...
分类:
数据库 时间:
2014-05-18 18:32:08
阅读次数:
383
class file_send
{
public:
SOCKET send_s; //The socket that used for sending which is established previously
char * filename; //The full path of the file that the client...
[ sed简介: ]
sed是一个很好的文件处理工具, 它本身是一个管道命令, 以行为单位进行处理, 可以用于对数据行进行新增、选取、替换、删除等操作。
sed命令行格式:sed [-nefri] 'range command' file
[ sed工作流程: ]
使用vim这种屏幕编辑器编辑一个文件的时候, 我们需要把这个文件打开, 这里存在两个问题:
1. 打开一个比较大的文件会消耗很多内存。
2. 我们无法写脚本调用vim来编辑文件, 但是sed可以通过写脚本编辑文件。...
分类:
系统相关 时间:
2014-05-18 06:53:12
阅读次数:
551
package com.jielan.servlet;
import java.io.File;
import java.util.ArrayList;
import jxl.Sheet;
import jxl.Workbook;
import com.jielan.util.DBUtil;
import com.jielan.util.Oracle;
public class Test {...
分类:
数据库 时间:
2014-05-18 04:55:19
阅读次数:
368
IPC进程间通信+共享内存Mapping
IPC(Inter-Process Communication,进程间通信)。
文件映射(Mapping)是一种将文件内容映射到内存地址的技术,通过对映射内存,读写文件如同读写内存一般简单。
多个进程映射同一个文件映射对象,也即多个进程映射到同一个物理存储页面,因此,当一个进程...
分类:
移动开发 时间:
2014-05-18 04:28:39
阅读次数:
324
Queue queue = new LinkedList ();
for(int i = 0; i<20; i++) {
queue.add("坑爹" + i);
}
for(int j =0; j<queue.size(); j++) {
String str = queue.poll();
System.out.println(j);
}嘿嘿 输出的是从1~10;虽然没什么技术含量但是我...
分类:
其他好文 时间:
2014-05-18 04:20:23
阅读次数:
282
[ grep简介: ]
grep是用来过滤含有特定字符的行
用法: grep 关键字 file
如: grep 'bbb' aaa.txt --color # 从文件aaa.txt中搜索关键词bbb, 并高亮显示。...
分类:
系统相关 时间:
2014-05-18 03:26:10
阅读次数:
357
//本文选择16M内部RC震荡,分频为1 即系统时钟为16M
void CLK_HSICmd(FunctionalState NewState)
{
/* Check the parameters */
assert_param(IS_FUNCTIONALSTATE_OK(NewState));
if (NewState != DISABLE)
{
...
分类:
其他好文 时间:
2014-05-18 03:02:35
阅读次数:
272