Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 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
Public Sub Start(ByVal parameter As Object)
     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
'// VS 2005

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
а как передать два и более параметров?

baseThread.Start("Only for you, dear Sacred Phoenix!";)
респект! :D

Ответить

Номер ответа: 4
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #4 Добавлено: 29.06.06 16:57
'// VS 2005

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
я как раз подумал насчёт массива после своего ответа :) пасиба! оч. помог! :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам