Потокобезопасность random - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Возникла проблема потокобезопастности в использование random на vb.net - при нескольких потоках начинает выдавать одно и то же значение. Я нашёл решение данной проблемы, но оно на C# и я не как не могу переделать его под vb.net:
Помогите пожалуйста с переводом или предложите своё решение. Заанее благодарен! =)

Решение задачи: «Потокобезопасность random»

textual
Листинг программы
Imports System.Threading
 
Public NotInheritable Class RandomProvider
    Private Sub New()
    End Sub
    Private Shared seed As Integer = Environment.TickCount
 
    Private Shared randomWrapper As New ThreadLocal(Of Random)(Function() New Random(Interlocked.Increment(seed)))
 
    Public Shared Function GetThreadRandom() As Random
        Return randomWrapper.Value
    End Function
End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5