1
5
你的问题不一定与线程安全有关。
sort回调函数接受指向每个项的指针,而不是项本身。既然你在分类
|
2
4
您的SortProc没有返回正确的结果,这可能会导致内存损坏,原因是假设数据在您完成排序后已排序。您甚至可以在qsort尝试排序时将其引入损坏,但这当然会因实现而异。 如果第一个对象小于第二个对象,qsort的比较函数必须返回负数;如果相等,则返回零;否则返回正数。当前代码只返回0或1,当应该返回负数时返回1。
|
3
1
C++并不能真正保证线程安全。你能说的最多的是,多个读卡器或者一个数据结构的编写器都可以。读者和作者的任意组合,你需要以某种方式序列化访问。 |
4
1
因为你把你的问题贴上了
|
5
0
现在,您的代码是线程安全的,但毫无用处,因为DoSort方法只使用局部变量,甚至不返回任何内容。如果正在排序的数据是Sorter的成员,那么从多个线程调用函数是不安全的。在gerenal中,仔细阅读 reentrancy ,这可能会让你知道你需要注意什么。 |
6
0
使它线程安全的是,无论您的对象是线程安全的,例如,要使qsort线程安全,您必须确保向对象写入或从对象读取的任何内容都是线程安全的。 |
7
0
pthreads手册页列出了不需要线程安全的标准函数。qsort不在其中,所以它必须是线程安全的 在POSIX中 . http://www.kernel.org/doc/man-pages/online/pages/man7/pthreads.7.html 不过,我找不到与Windows对应的列表,因此这并不能真正回答您的问题。如果不一样的话我会有点惊讶。
|
8
-2
我曾经根据马克·尼尔森在《多布斯博士》一书中的代码编写了一个BWT压缩器,当我把它转换成类时,我发现它是有规律的
|
cyber101 · vc++未声明的标识符,尽管其已声明 6 年前 |
areum · 如何在列表控件中创建右键单击菜单? 6 年前 |
Rafal · 如何在MFC中的CWnd中显示CFormView? 6 年前 |
Anton Savelyev · 在发布版本中删除类指针会导致内存问题 7 年前 |
xtkwfn · 如何查找目录[已关闭]下的所有文件夹 7 年前 |
Andrew Truckle · 在WPARAM中组合5个值 7 年前 |
user3070144 · 通过全局接口表封送ActiveX 7 年前 |