0
主题a + b(都试图删除文件)。 a先被调用,然后b而a仍在运行。 b成功删除文件,但是a没有。同时线程只有一个似乎一次起作用?
如果我运行本身就是一个,一个的文件删除罚款。
当我通过代码我可以看到,一个小号的MultiAttemptFilename获取与b覆盖'。
我不明白。
我有一个ajax调用指向一个通用的处理程序,通过文件名与它一起。 在我的处理程序,我有以下代码:
Dim Dc As New Document
Dim MyThread As New Thread(AddressOf Dc.DeleteFileMulitAttempt)
Dc.MulitAttemptFilename = Filename
MyThread.Start()
从我的“文件”类我打电话以下几点:
#Region "Delete"
Public MulitAttemptFilename As String = ""
Public Sub DeleteFileMulitAttempt()
Dim TimeBetweenAttempts As Integer = 2000
Dim NumberOfAttempts As Integer = 60
Dim AttemptNumber As Integer = 0
Dim Success As Boolean = False
While (AttemptNumber < NumberOfAttempts)
Try
Success = (DeleteFile(MulitAttemptFilename) = "Ok")
Catch ex As Exception
Success = False
End Try
If (Success) Then Exit While
Thread.Sleep(TimeBetweenAttempts)
AttemptNumber += 1
End While
End If
End Sub
...
这是处理取消/上传失败,因为他们不总是立即删除(服务器锁等),因此循环。
我在这里错过了什么?
谢谢托德。我在玩Synclock,但读过那篇文章,我认为我会忽略这一点,直到我有更多时间来正确阅读线程。干杯 – Oppdal 2011-03-17 10:59:02