小编pcu*_*ite的帖子

在x64系统上使用来自32位应用程序的IFilter

我需要在Windows x64系统上使用32位应用程序的IFilter接口.这对.doc文件很容易,因为offfilt.dll支持两种构建类型.但是,我还需要从.docx和其他文件类型中获取纯文本.解决方案首先是安装Microsoft Filter Pack.但是,只安装x64版本...这意味着我的32位应用程序无法使用它们.它们在32位Windows下运行良好.

有没有人找到解决这个问题的方法?

c++ full-text-search ifilter

6
推荐指数
2
解决办法
1995
查看次数

共享资源最快的多读/单写保护 - C++

我想确认我的方法是非常快速的,适用于多数读者的跨平台保护,使用C++的单一编写器方法.它有利于编写者,当他们输入所有当前线程时,允许完成,但任何类型的所有新线程都必须等待.这两个功能的反面应该是显而易见的.

我已经完成的读数表明,boost shared_mutex和其他类型的rwlock没有很好地实现,应该避免.事实上,shared_mutex不会使它成为C++ 0x我接受它.看到Anthony Williams的回复.

似乎甚至可以写入整数,如果正确对齐则不需要锁定任何类型.那里有很多文章,关于这个主题的任何好的阅读,所以我不必从谷壳中分拣小麦?

void AquireReadLock(void)
{
    mutex::enter();
    if(READ_STATE == true)
    {   
        iReaders++;
        mutex::leave();
        return;
    }
    else
    {
        mutex::leave();
        sleep(1);
        AquireReadLock();
        return;
    }   
}

void AquireWriteLock(void)
{
    mutex::enter();
    READ_STATE = false;
    if (iReaders != 0)
    {
        mutex::leave();
        sleep(1);
        AquireWriteLock();
        return;
    }
    else
    {
        mutex::leave();
        return;
    }   
}
Run Code Online (Sandbox Code Playgroud)

c++ boost mutex locking thread-safety

2
推荐指数
1
解决办法
2890
查看次数

标签 统计

c++ ×2

boost ×1

full-text-search ×1

ifilter ×1

locking ×1

mutex ×1

thread-safety ×1