![]() |
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压缩器,当我把它转换成类时,我发现它是有规律的
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |