- 博客(5)
- 资源 (9)
- 收藏
- 关注
原创 多线程google面试题
有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推…现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式:A:1 2 3 4 1 2…B:2 3 4 1 2 3…C:3 4 1 2 3 4…D:4 1 2 3 4 1…问题分析:由于每个线程都固定输出一个字符,这个是不会发生变化的,要想达到预期效果,只能是每次循环向不同的文件写字符。这里考察的是线...
2019-05-26 14:31:48 489
原创 C++读写锁特性说明
读写问题假设某个数据对象是释若干进程共享的,这些进程的某些只会读这种共享对象的内容,另一些则只会更新这种共享对象数据。可以把这些进程分为两类,一类负责读取数据对象,称为读者进程,另一类负责更新共享数据,称为写者进程。多个读者可以同时获取共享对象,但是当一个写者和另外一个读者(或者写者)同时存取对象时,就会发生混乱。为了避免发生混乱现象,要求写者进程互斥地存取共享对象,这类同步问题就称为读写问...
2019-05-20 22:26:30 2544
原创 C++11之packaged_task使用介绍
介绍packaged_task类模板也是定义于future头文件中,它包装任何可调用 (Callable) 目标,包括函数、 lambda 表达式、 bind 表达式或其他函数对象,使得能异步调用它,其返回值或所抛异常被存储于能通过 std::future 对象访问的共享状态中。简言之,将一个普通的可调用函数对象转换为异步执行的任务。模板声明如下:template< class ...
2019-05-02 23:46:49 8868 3
原创 C++11之std::future对象使用说明
std::future介绍在前面几篇文章中基本都用到thread对象,它是C++11中提供异步创建多线程的工具。但是我们想要从线程中返回异步任务结果,一般需要依靠全局变量;从安全角度看,有些不妥;为此C++11提供了std::future类模板,future对象提供访问异步操作结果的机制。std::future类模板定义头文件<future>,其函数声明如下:template&l...
2019-05-02 23:07:53 65611 5
原创 C++11条件变量使用详解
condition_variable介绍在C++11中,我们可以使用条件变量(condition_variable)实现多个线程间的同步操作;当条件不满足时,相关线程被一直阻塞,直到某种条件出现,这些线程才会被唤醒。其主要成员函数如下:条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程因等待"条件变量的条件成立"而挂起;另外一个线程使"条件成立",给出信...
2019-05-02 00:31:21 42538 27
C/C++/JAVA/Python代码统计工具
2018-12-17
基于boost.asio库的C++http/https web server
2018-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人