Skip to content

IndexNSG::InterInsert lock issue #42

@yangzq50

Description

@yangzq50

https://github.com/ZJULearning/nsg/blob/eceb09e2754d978b4c8b07e3248018987feb597a/src/index_nsg.cpp#L308C7-L308C7

这里会用一个锁来读取 des_pool,之后又会加个锁写入 des_pool,假如处理另一个节点的函数在读、写操作中间读了,又在本线程写后写了数据,那么本线程的工作不就等于没干?

当然,这里这样处理可能是没问题的,在 des_pool 空间未满时,写操作分别在末尾添加数据是没有问题的,在 des_pool 空间已满时,究竟怎么更新数据(把入边反转一下也加入出边?),也许并没有区别?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions