自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 安装过程中出现PKG_CONFIG_PATH的问题解决方法

在安装开源软件的过程中, 经常会碰到提示配置PKG_CONFIG_PATH路径, 或者直接提示没有安装某某库, 但是我们已经安装了啊。其实造成这种情况的原因很简单, 就是安装的目录不能被依赖程序找到。具体的原理可以网上搜索 configure, pkg-config , PKG_CONFIG_PATH这三者直接的关系。此处不再赘述。解决方

2015-08-18 11:30:29 1030

转载 多线程经典面试题

1、基本概念        详见:线程和进程关系和区别、同步和互斥、进程间通信2、以下多线程对int型变量x的操作,哪几个不需要进行同步(D)        A. x=y;      B. x++;    C. ++x;    D. x=1;        详见:多线程二 多线程中的隐蔽问题揭秘3、多线程中栈与堆是公有的还是私有的 (C)       

2015-08-14 11:50:03 360

转载 线程与进程的区别

1、线程的基本概念    概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。    好处 :(1)易于调度。               (2)提高

2015-08-14 11:48:47 389

转载 多线程八 生产者消费者经典问题

继经典线程同步问题之后,我们来看看生产者消费者问题及读者写者问题。生产者消费者问题是一个著名的线程同步问题,该问题描述如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,显然生产者和消费者之间必须保持同步,即不允许消费者到一个空的缓冲区

2015-08-14 11:47:51 585

转载 多线程七 经典线程同步与互斥总结

前面《多线程二  多线程中的隐蔽问题揭秘》提出了一个经典的多线程同步互斥问题,这个问题包括了主线程与子线程的同步,子线程间的互斥,是一道非常经典的多线程同步互斥问题范例,后面分别用了四篇《多线程三 经典线程同步之关键段CS》《多线程四 经典线程同步之互斥量Mutex》《多线程五 经典线程同步之事件Event》《多线程六 经典线程同步之信号量Semaphore》

2015-08-14 11:46:40 504

转载 多线程五 经典线程同步之事件Event

1、首先介绍下如何使用事件。    事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。1)第一个 CreateEvent函数功能:创建事件函数原型:HANDLE CreateEvent(LPSECURITY_ATTRIBUTESlpEventAttributes,BOOLbManualReset,BOOLbI

2015-08-14 11:44:47 423

转载 多线程四 经典线程同步之互斥量Mutex

1、互斥量是一个内核对象,它用来确保一个线程独占一个资源的访问。    互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源。使用互斥量Mutex主要将用到四个函数。下面是这些函数的原型和使用说明。1)第一个 CreateMutex函数功能:创建互斥量(注意与事件Event的创建函数对比)函数原型:HANDLE CreateMutex

2015-08-14 11:43:59 398

转载 多线程三 经典线程同步之关键段CS

1、本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。定义关键段变量:CRITICAL_SECTION g_csThreadParameter, g_csThreadCode;关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。1)函数原型:void InitializeCriticalSection

2015-08-14 11:43:11 325

转载 多线程二 多线程中的隐蔽问题揭秘

上一篇《多线程一  CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增。程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等于我们启动的线程个数,那显然说明这个

2015-08-14 11:38:22 368

转载 多线程一 CreateThread与_beginthreadex的本质区别

1、尽量使用_beginthreadex()来代替使用CreateThread(),为什么?       _beginthreadex()函数在创建新线程时会分配并初始化一个_tiddata块。这个_tiddata块自然是用来存放一些需要线程独享的数据。事实上新线程运行时会首先将_tiddata块与自己进一步关联起来。然后新线程调用标准C运行库函数如strtok()时就会先取得_tidda

2015-08-14 11:22:51 475

转载 多线程六 经典线程同步之信号量Semaphore

1、首先来看看如何使用信号量    信号量Semaphore常用有三个函数,使用很方便。下面是这几个函数的原型和使用说明。第一个 CreateSemaphore函数功能:创建信号量函数原型:HANDLE CreateSemaphore(  LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,  LONG l

2015-08-14 10:32:27 462

转载 CreateEvent的用法

事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对象的函数如下:  HANDLE     CreateEvent(        LPSECURITY_ATTRIBUTE

2015-08-14 09:46:54 498

转载 Windows API ——CreateMutex——创建互斥对象

互斥对象是系统内核维护的一种数据结构,它保证了对象对单个线程的访问权   互斥对象的结构:包含了一个使用数量,一个线程ID,一个计数器   使用数量是指有多少个线程在调用该对象,线程ID是指互斥对象维护的线程的ID   计数器表示当前线程调用该对象的次数 HANDLE CreateMutex(   LPSECURITY_ATTRIBUTES lpMutexAttributes, 安全属

2015-08-14 09:41:43 418

绝对好使的Ser-u运行程序,而且加了汉化版和注册机!

本人亲测绝对好使的Ser-u运行程序,里边有汉化工具和注册机! 使用汉化工具和注册机的时候ser-u要关闭,建议每次重启以后使用,否则关不掉!

2014-04-03

通过消息机制实现Exe程序间的数据交换

主要实现了进程之间的信息传递!通过三个接口传递,可以帮助新学者了解进程间信息如何传递!

2014-04-01

vc++实战大全源码

基本开发的源码全都有! 桌面时钟 电子邮箱 资源管理器.

2014-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除