![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 52
za_mi_lu
这个人太懒了!TA没有填任何的自我介绍!
展开
-
(三)使用多线程满足txt文件并发请求的要求
接上文和上上文:(一)c++对txt文件的读取写入和查询(二)为表创建索引文件要求:应用程序可以以多线程的方式使用上述API。保证多线程下,表,索引文件的一致性。方法:使用#include <mutex>的互斥锁,保证同时最多只有一个线程打开某文件。用法:mutex data_lock;mutex index_lock;//互斥锁data_lock.lock();/**使用表**///解开互斥锁data_lock.unlock();#inc原创 2021-11-04 17:23:26 · 563 阅读 · 0 评论 -
(一)c++对txt文件的读取写入和查询
作业要求:存储一张表,能对表进行添加,搜索和索引。且支持多线程。表中有100个属性,每个属性都是int64_t类型。本节实现了对txt文件的读取,写入与范围查询。代码实现:数据结构:每行数据有一个id,以及100个属性。/* data */int64_t id; //数据的ID//数据的100个属性int64_t property[PRO_NUM];生成随机数,添加新数据进入txt文件:使用文件流(#include <fstream>)提供对文件的流原创 2021-10-29 15:19:33 · 1472 阅读 · 0 评论 -
(二)为表创建索引文件
接上文:(一)c++对txt文件的读取写入和查询要求是创建索引结构(如B+树)实现快速搜索,不过我不会。。。这里只存储了一个带位置的索引文件以供后续检索。数据结构:/* data */int64_t id; //数据的IDint64_t property[PRO_NUM]; //数据的100个属性int file_len; //文件总长度vector<int> fast_search; //对哪些属性创建了索引文件。存成变量下次用就不得行,所以可以写个存原创 2021-11-02 16:24:18 · 730 阅读 · 0 评论