当前搜索:

boost库在工作(22)任务之二

往往我们开发出来的产品,都是运行在不同的国家,不同的地区,不同生活水平的用户,因而软件产品会运行在不同的环境的电脑里。比如富裕国家里的电脑硬件资源,都比较好,如果还是按低配置电脑的水平设计,显示不会满足用户的要求。但是按高配置要求的硬件资源来设计,行吗?也不行,比如软件安装到工厂这样节约资源的电脑硬件资源里,就会运行不起来,或者说不流畅。因此,在设计软件产品时,需要动态适应电脑运行环境,或者根据电...
阅读(2648) 评论(1)

boost库在工作(21)任务之一

在软件开发里,常常遇到多个任务同时添加的情况,比如用户要下载一部电视连续剧,就会一起添加几十集,让它一集一集地下载。如果这时使用线程池来运行,就需要这个任务队列可以多个线程同时访问它,如果队列里没有任务时,可以让多个线程等着,只要有任务到达,就立即运行。在boost库里提供了一个强大的任务队列,这个队列可以使用线程池访问,也可以当任务为空时阻塞线程。使用这个任务队列,可以让多个任务动态运行,以及适...
阅读(2901) 评论(0)

boost库在工作(20)线程之五

通过上面的学习,基本上就可以使用线程了,但怎么样让线程运行类里的成员函数呢?以便封装得更方便使用了。接着下来,就看这个例子,如下:// boost_013.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include //封装线程组运...
阅读(2370) 评论(1)

boost库在工作(19)线程之四

从前面也看到使用锁boost::mutex时,如果不小心就会死锁,这样要费心费力去维护这样的代码,在boost库里提供同一个函数递归调用时使用的锁boost::recursive_mutex,当同一个线程调用时,碰到相同已经上锁的锁时,还可以继续往下执行。这时就不用担心同一个线程调用不同的函数时造成死锁了。在前面的例子死锁的代码,当换成这个锁之后,就不会再有死锁了,代码如下:// boost_01...
阅读(2654) 评论(0)
    个人资料
    • 访问:5902274次
    • 积分:76279
    • 等级:
    • 排名:第22名
    • 原创:1625篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2102条
    文章存档