自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿堂的专栏

给自己多点耐心,给自己多点思考,给自己多点激励.

  • 博客(9)
  • 收藏
  • 关注

原创 linux多线程学习(七)——实现“生产者和消费者”

在上一篇文章中,利用信号量实现了线程间的互斥,这一篇将要利用信号量的互斥同步机制来实现一个经典实例,就是“生产者和消费者”。1、简单描述生产者和消费者的问题。有一个缓冲区和两个线程:生产者和消费者。生产者把产品放入缓冲区,而消费者从缓冲区中拿走。当缓冲区满时,生产者必须等待;另外,当缓冲区空时,消费者必须等待,并且缓冲区不能同时进行生产者和消费者的操作。#include #in

2009-01-20 14:33:00 4112

原创 linux多线程学习(六)——信号量实现同步。

在上一篇文章中已经用信号量来实现线程间的互斥,达到了互斥锁的效果,今天这篇文章将讲述怎样用信号量去实现同步。信号量的互斥同步都是通过PV原语来操作的,我们可以通过注册两个信号量,让它们在互斥的问题上互动,从而达到同步。通过下面实例就可以很容易理解: #include #include #include #include #include #inc

2009-01-19 10:31:00 5387

原创 taglist安装与应用

之前一直用tags去跳转查找函数,今天也安装了taglist,这个函数的最大好处,除了通过跳转去查找函数,还可以把本文件中的函数罗列出来,但是它也有局限性,它的函数查找不能像tags做的那么出色,所以用tags+taglist对开发人员来说,是一个很不错的选择。1、下载taglist:http://vim.sourceforge.net/scripts/script.php?script_id

2009-01-18 17:51:00 3858

原创 linux多线程学习(五)——信号量线程控制

在上一篇文章中,讲述了线程中互斥锁的使用,达到对共享资源互斥使用。除了使用互斥锁,信号量,也就是操作系统中所提到的PV原语,能达到互斥和同步的效果,这就是今天我们所要讲述的信号量线程控制。PV原语是对整数计数器信号量sem的操作,一次P操作可使sem减一,而一次V操作可是sem加一。进程(或线程)根据信号量的值来判断是否对公共资源具有访问权限。当信号量的值大于零或等于零的时候,该进程(或线程)

2009-01-18 13:19:00 7931 5

原创 linux多线程学习(四)——互斥锁线程控制

在前面的文章中提及到,一个进程中的多个线程是共享同一段资源的,由于线程对资源的竞争引出了锁。其中mutex是一种简单的加锁方法,这个互斥锁只有两种状态,那就是上锁和解锁,可以把互斥锁看作是某种意义上的全局变量。在某一时刻,只能有一个线程取得这个互斥上的锁,拥有上锁状态的线程可以对共享资源进行操作,而其他线程在该线程未解锁之前,够会被挂起,直到上锁的线程解开锁。可以这么说,互斥锁使得共享资源按序的在

2009-01-17 21:24:00 18196 5

原创 linux多线程学习(三)——线程属性设置。

在上一篇文章中,介绍了线程的创建和退出,以及相关函数的使用。其中pthread_create函数的第二个参数,是关于线程属性的设置,这也是今天所有讲述的。这些属性主要包括邦定属性、分离属性、堆栈地址、堆栈大小、优先级。其中系统默认的是非邦定、非分离、缺省1M的堆栈、与父进程同样级别的优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。(1)邦定属性。

2009-01-16 22:55:00 10217

原创 linux多线程学习(二)——线程的创建和退出

      在上一篇文章中对线程进行了简单的概述,它在系统中和编程的应用中,扮演的角色是不言而喻的。学习它、掌握它、吃透它是作为一个程序员的必须作为。在接下来的讲述中,所有线程的操作都是用户级的操作。在LINUX中,一般pthread线程库是一套通用的线程库,是由POSIX提出的,因此他的移植性是非常好的。      创建线程实际上就是确定调用该线程函数的入口点,这里通常使用的函数是pthre

2009-01-15 22:07:00 17253

原创 linux多线程学习(一)

进程是系统中程序执行和资源分配的基本单位。每个进程都有自己的数据段,代码段和堆栈段,这就导致了进程在进行切换等操作起到了现场保护作用。但是为了进一步减少处理机的空转时间支持多处理器和减少上下文切换开销,进程演化中出现了另外一个概念,这就是线程,也被人称为轻量级的进程。它是一个进程内的基本调度单位。线程是在共享的内存空间中并发的多道执行路径,它们共享一个进程的资源,比如文件描述符和信号处理等。因此,

2009-01-13 20:23:00 3489 1

原创 在entry控件中如何设置只能输入数字?

都好久没有写文章了,因为这段时间刚开始负责一个模块,忙得我自己团团转的,不是模块难,而是自己刚开始负责一个模块,很多事情都没有经验,代码的扩展性和健壮性问题,还有一些脚本问题、系统的接口等等,困惑了我不少时间,自己是一点一点的摸石头过河。不过总算告一段落,结果自己还是满意的。今天在修改BUG的时候,有测试人员提到,要entry里面只能输入数字,问了一下元老级的编程人员,这也是一种编程经验和技巧,在

2009-01-08 20:54:00 4761 2

空空如也

空空如也

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

TA关注的人

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