我正在将一棵树实现为一个简单的数组(在数组的 C 意义上),该数组使用对数组索引的操作而不是指针。这棵树会变得很大,我需要坚持下去。最简单的解决方案似乎是将阵列中的所有数据串在一起的通用文件。
要访问树的叶子,我需要以下内容:
能够在文件的随机位置读取/写入一系列32字节的项目。
能够在执行读/写之前“锁定”文件,以便在更新树时必须等待对树函数的其他异步调用(因为1更新了 tree抽象< / em>,需要对文件本身进行多次更新。
我正在使用节点随附的fs
模块来访问文件系统,但是调用open
并不能将其锁定在其他线程之外,并且我也没有看到有关它的任何文档。理想情况下,我将不必仅阻塞一个文件,并且不会造成大量开销,因为我将对树进行数以千万计的读/写操作(即对文件进行数以千万计的读/写操作) )。