11 wangqinghao

尚未进行身份认证

暂无相关描述

等级
博文 130
排名 1w+

信号与信号量的区别[转]

信号量(Semaphore),有时被称为信号灯,是在多环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将AcquireSemaphoreVI以及ReleaseSem

2015-10-12 22:56:25

信号量线程控制

(1)信号量说明在第8章中已经讲到,信号量也就是操作系统中所用到的PV原语,它广泛用于进程或线程间的同步与互斥。信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。这里先来简单复习一下PV原语的工作原理。PV原语是对整数计数器信号量sem的操作。一次P操作使sem减一,而一次V操作使sem加一。进程(或线程)根据信号量的值来判断是否对公共资源具有访问权限。当

2015-10-07 14:47:15

GDB详解

GDB详解1简介2生成调试信息3启动GDB的方法4程序运行上下文   4.1程序运行参数   4.2工作目录   4.3程序的输入输出5设置断点   5.1简单断点   5.2多文件设置断点   5.3查询所有断点6观察点7条件断点8维护停止点9为停止点设定运行命令10调试代码

2015-09-30 22:03:51

野谈新兴高校“国科大”:介绍给正在择校的中国学子

文/吕来   我之所以写这篇文章,主要是前不久学校校长办公室给我们每位在校的学生发了一封邮件,大体意思是学校将打破以往只招收硕士和博士研究生的惯例,从2014年开始招收建校以来的第一届大学本科生,这是学校发展史上的一项重大事件,希望每位同学都积极宣传,把此消息散发给周围的朋友和家里的亲友,让更多的人知道此消息。首次招生将通过自荐、推荐、统招、加分等方式在全国各地总共精心遴选300名优秀高中毕

2014-06-12 22:36:19

C# 利用系统API 复制大文件(显示进度条)

[csharp] viewplaincopyusing System;  using System.Collections.Generic;  using System.ComponentModel;  using System.Data;  using System.Drawing;  using System.Linq;  using 

2013-11-16 21:24:15

地理坐标系与投影坐标系

说明:椭球体、基准面构成了地理坐标系,即大地坐标系(经纬度);椭球体、基准面、投影构成了投影坐标系,即平面坐标系(米)。UTM与高斯克吕格投影投影方式分带计算方式UTM等角横轴割圆柱6°西经180°起自西向东高斯克吕格等角横轴切圆柱6°

2013-11-15 00:06:02

面试试题

[cpp] viewplaincopy/************************************************************************/  /* A+B  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav

2013-11-03 20:26:49

gluLookAt 函数详解

voidgluLookAt(GLdoubleeyex,GLdoubleeyey,GLdoubleeyez,                  GLdoublecenterx,GLdoublecentery,GLdoublecenterz,                  GLdoubleupx,GLdou

2013-11-01 15:41:58

OpenGL 模型视图变换、投影变换、视口变换

产生目标场景的过程类似于用照相机进行拍照:(1)把照相机固定在三角架上,并让他对准场景从不同位置观察场景(视图变换)     gluLookAt(2)对场景进行安排,使各个物体在照片中的位置是我们所希望的移动,旋转或者放大缩小场景中的物体(模型变换)     glTranslate*,glRotate*,glScale*(3)选择照相机镜头,并调整放大倍数(调焦

2013-10-30 15:03:09

error C2381: “exit” : 重定义;__declspec(noreturn) 不同

编译OpenGL Red Book 的例子时出现错误,stdlib.h(406) : error C2381: “exit”: 重定义;__declspec(noreturn) 不同  glut.h(146) : 参见“exit”的声明  解决方法:#include                    #include

2013-10-29 15:10:05

(经典)ANSI,ASCII,Unicode的区别与联系

快下班时,爱问问题的小朋友Nico又问了一个问题:    "sqlserver里面有char和nchar,那个n据说是指unicode的数据,这个是什么意思。" 并不是所有简单的问题都很容易回答,就像这个问题一样。于是我答应专门写一篇BLOG来从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好……   

2013-09-08 23:10:23

使用Unicode(宽字节字符集)兼谈_T与L

_T会根据你工程的设置自动转换UNICODE和非UNICODE.    L就是转为UNICODE VisualC++里边定义字符串的时候,用_T来保证兼容性,是一种数据类型,但是它不会产生结果,被编译系统的预处理系统来解释,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。 如果将来你不打算升

2013-09-08 22:35:39

C++ 文件操作

Basic I/O:ios,istream,ostream,and iostreamFile I/O:ifstream,ofstream,and fstreamIn-memory I/O with C-style strings:istrstream,ostrstream,and strstreamIn-memory I/O with string objects stri

2013-08-31 18:35:39

深度缓冲区原理以及为什么要用它

1.在开始介绍深度缓存之前,先了解一下隐藏表面消除。    隐藏表面消除(hidden-surfaceremoval)就是消除实心物体被其他物体所遮挡的那部分。实现隐藏表面消除最简单方法就是使用深度缓冲区(又叫Z缓冲区)。2.深度缓冲区原理   深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中的每个像素相关联。   首先,使用glClear(GL_

2013-08-19 20:53:44

opengl中glPushMatrix()he glPopMatrix()用法小结

OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。    有时候在经过一些变换后我们想回到原来的状态,就像我们谈恋爱一样,换来换去还是感觉初恋好,怎么办?强大的opengl就帮我们提

2013-08-17 11:56:13

美国科学家M.GoodChild眼中的中国科学

8月末,美国科学院院士M.GoodChild应邀来北京参加第四届国际数据质量大会。会议期间,在中国科学家陪同下,在北京大学勺园咖啡厅,他与本报记者闲聊了一阵中国的科学,记者认为他的一些观点值得中国科技界关注。    记者:您来中国多少次了?有什么感觉?    GoodChild:我这是第五次来中国,每一次感觉都不一样。中国的变化发展非常迅速,有点目不暇接。但总的印象是东部比西部发展

2013-05-21 22:36:14

程代展:读书、科研与人生道路

如果把人生看作万米长跑,考上大学大概是百米节点,博士毕业大概是千米节点。真正的人生竞争在于千米之后的漫漫长途。关于读书读书的重要性是无庸置疑的。大家都在读书,但可能效果迥异。“如何读书”本身就是一门学问。1979年诺贝尔物理学奖获得者Glashow除物理学相关知识还修过音乐、东亚历史、法学、文学,甚至电焊。访问他的记者颇感疑惑,问他:“学这么多其他科目对物理学研究难道也有帮助吗?”他

2013-05-15 10:29:50

OpenGL投影变换小结

投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影。不管是调用哪种投影函数,为了避免不必要的变换,其前面必须加上以下两句:    glMAtrixMode(GL_PROJECTION);    glLoadIdentity();事实上,投影变换的目的就是定义一个视景体,使得视景体外多余的部分裁剪掉,最终图像只是视景体内的有关部分。本节将

2013-04-11 15:25:04

不使用临时变量交换两个整数

方法一1:x=y-x;2:y=y-x;3:x=x+y;方法二1:x=x^y;2:y=x^y;3:x=x^y;

2013-03-20 10:49:26

用GDB调试程序

GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:   1、启动你的程序,可以按照你的自

2013-03-17 14:30:27
奖章
    暂无奖章