Страница: 1 |
Страница: 1 |
Вопрос: Мультипоточность
Добавлено: 28.06.06 19:18
Автор вопроса: Sacred Phoenix | ICQ: 304238252
Можно создать поток, вызывая процедуру без параметров:
Dim Thread As New System.Threading.Thread(AddressOf SomeSub)
А если эта SomeSub имеет параметры? Как быть?
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 29.06.06 00:58
Member of: System.Threading.Thread
Summary:
Causes the operating system to change the state of the current instance to System.Threading.ThreadState.Running, and optionally supplies an object containing data to be used by the method the thread executes.
Parameters:
parameter: An object that contains data to be used by the method the thread executes.
Номер ответа: 2
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #2
Добавлено: 29.06.06 02:14
Imports System.Threading
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim baseThread As New Thread(AddressOf DoWork)
baseThread.Start(43)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim baseThread As New Thread(AddressOf DoWork)
baseThread.Start("Only for you, dear Sacred Phoenix!"
End Sub
Private Sub DoWork(ByVal parameter As Object)
Console.WriteLine(String.Format("Thread with parameter.{0}Parameter: {1}", vbNewLine, parameter))
End Sub
End Class
Номер ответа: 3
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #3
Добавлено: 29.06.06 10:31
а как передать два и более параметров?
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 29.06.06 16:57
Imports System.Threading
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'// В качестве параметра можно передавать любой объект!!!
'// Будь картинка, коллекция.. да что угодно..
'// Лично я обычно предпочитаю использовать массив
'// так как он позволяет передать параметры разных типов
Dim customParameters As Object = New Object() {43, "Only for you, dear Sacred Phoenix!", Date.Today}
Dim baseThread As New Thread(AddressOf DoWork)
baseThread.Start(customParameters)
End Sub
Private Sub DoWork(ByVal customParameters As Object)
Console.WriteLine(customParameters(0))
Console.WriteLine(customParameters(1))
Console.WriteLine(customParameters(2))
End Sub
End Class
Номер ответа: 5
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #5
Добавлено: 29.06.06 20:01
я как раз подумал насчёт массива после своего ответа пасиба! оч. помог!