多线程编程
miraclewgf
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
windows核心编程之进程&线程
在前一章总结内核对象时提到过进程内核对象和线程内核对象,但是对进程线程以及进程内核对象和线程内核对象在其中的意义还不是很清楚,下面就详细说说进程与线程,进程内核对象和线程内核对象,进程与进程内核对象,线程与线程内核对象之间的千丝万缕的联系。 在开始之前,提出两个面试中经常遇到的简单问题:(1)进程与线程的联系和区别 (2)在多线程编程中为什么要考虑同步互斥操作?两个问题的解答在本章最后给出原创 2015-07-19 15:56:33 · 528 阅读 · 0 评论 -
windows核心编程之内核对象
由于不是计算机科班出身,一直对于进程和线程没有深入的了解,现开始看windows核心编程,将具体内容整理一下,以加深印象。 1、内核对象,即操作系统维护的一个数据结构,内部维护该对象的各种数据信息,常见的内核对象有:用于创建进程的进程内核对象,用于创建线程的线程内核对象,创建文件的文件内核对象,用于多线程互斥和同步的互斥对象、信标对象和事件对象等。在windows操作系统中,只有系统本身可转载 2015-07-18 16:34:20 · 471 阅读 · 0 评论 -
windows核心编程之sleep
在多线程编程中经常会用到sleep(),windows核心编程中是这样描述的:当线程想要告诉系统,它想要在某个时间段内不被调用,这时可以使用sleep函数,当调用sleep后,该线程自愿放弃它剩余的时间片,这时其他的线程就可以抢占式被调度了。使用sleep时需注意以下几点:(1)windows操作系统不是实时操作系统,因此当某一线程调用sleep时,并不一定会在指定的时间后被唤醒,有可原创 2015-07-20 21:18:20 · 1817 阅读 · 0 评论 -
创建多线程API调用类成员函数的方式
在熟悉多线程编程过程中,在做demo是需要在创建多线程时将类成员函数作为参数,以下是方法,总结如下: 创建多线程时直接用类成员函数的函数指针作为参数是不可以的,只能是static静态成员函数才可以,因此需要多写一个static成员函数,将类的指针作为参数传进来用来封装一下。 类的成员函数声明如下:class thread_t{public: ~thre原创 2015-07-19 18:25:41 · 517 阅读 · 0 评论 -
多线程之生产者消费者问题
在多线程编程过程中,为了保证是原子操作,必须处理好线程之间的同步和互斥,生产者消费者问题即是线程间同步和互斥的经典例子。生产者消费者问题的描述:生产者负责生产“产品”,消费者负责消费“产品”,当生产的产品满时(假设有一个生产的流水线),需等待消费者消费产品后才可以生产产品,不然就会溢出,当流水线上没有产品时,消费者就等待生产者生产产品。问题分解如下:(1)一个生产者对应一个生产者线原创 2015-09-09 21:35:36 · 1895 阅读 · 0 评论 -
多线程编程之进程、线程、进程间通信、线程间通信简介
进程:进程是一个程序在一个数据集合上的一次运行过程,是内存中正在执行的一个程序,每一个进程独立的占有内存空间。线程:是进程中的一个实体,是被系统独立调度和执行的基本单位。进程相当于线程在内执行的一个容器,本身是不活跃的,真正活跃的是线程,多个线程共享在一个进程中的地址空间,因此可以高效的共享数据;但是多个进程只能共享代码段,而不能共享数据。以上是进程和线程的联系与区别。进程原创 2015-09-04 11:40:16 · 719 阅读 · 0 评论
分享