在vb.net中,写入时是使用SyncLock还是读或两者都需?

2026-05-06 09:390阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计375个文字,预计阅读时间需要2分钟。

在vb.net中,写入时是使用SyncLock还是读或两者都需?

假设我有一个字节数组,数据类型为Byte[]。这个数组在类中是私有的。该类提供了用于读取和写入数据的公共函数Data。这个类可以被多个线程访问,因此我想要避免一种情况,即从它读取并从中写入,即同时读写。

假设我有一个字节数组,私有数据为Byte().该数组在类中是私有的.该类提供了用于读取和写入Data的公共函数.

在vb.net中,写入时是使用SyncLock还是读或两者都需?

这个类可以被多个线程访问,所以我想避免一种情况,即从它读取并从中写入不会同时发生.

目前,我正在使用SyncLock来避免问题.我可以将SyncLock数据只放在写入函数中,还是需要在读取函数中?或两者?

我没有考虑具体的代码示例.我很好奇如果写入函数的SyncLock会使写入具有对它的独占访问权限,那么锁定读取和写入函数是否有任何好处.

您想要锁定读取字节数组的主要原因是避免“幻读”或其他不可重复的读取 – 如果编写者在更新数组的过程中,读者可能会看到一些旧值和一些新值,或旧值,然后再次读取新值.

例如,如果你有一个包含[1,2,3,4,5,6]的数组,并且一个带有SyncLock并在数组上循环的编写器线程为每个元素添加1,那么没有SyncLock的阅读器可能会看到像[2,3,4,4,5,6]这样的奇怪 – 只有实际使用SyncLock的线程才会获得任何安全性.

本文共计375个文字,预计阅读时间需要2分钟。

在vb.net中,写入时是使用SyncLock还是读或两者都需?

假设我有一个字节数组,数据类型为Byte[]。这个数组在类中是私有的。该类提供了用于读取和写入数据的公共函数Data。这个类可以被多个线程访问,因此我想要避免一种情况,即从它读取并从中写入,即同时读写。

假设我有一个字节数组,私有数据为Byte().该数组在类中是私有的.该类提供了用于读取和写入Data的公共函数.

在vb.net中,写入时是使用SyncLock还是读或两者都需?

这个类可以被多个线程访问,所以我想避免一种情况,即从它读取并从中写入不会同时发生.

目前,我正在使用SyncLock来避免问题.我可以将SyncLock数据只放在写入函数中,还是需要在读取函数中?或两者?

我没有考虑具体的代码示例.我很好奇如果写入函数的SyncLock会使写入具有对它的独占访问权限,那么锁定读取和写入函数是否有任何好处.

您想要锁定读取字节数组的主要原因是避免“幻读”或其他不可重复的读取 – 如果编写者在更新数组的过程中,读者可能会看到一些旧值和一些新值,或旧值,然后再次读取新值.

例如,如果你有一个包含[1,2,3,4,5,6]的数组,并且一个带有SyncLock并在数组上循环的编写器线程为每个元素添加1,那么没有SyncLock的阅读器可能会看到像[2,3,4,4,5,6]这样的奇怪 – 只有实际使用SyncLock的线程才会获得任何安全性.