Jump to content
HIT_Braga

Multi-Threads

Recommended Posts

HIT_Braga

Olá pessoal.

Ando para aqui a tentar programar usando threads e estou com uns problemas...por isso precisava de alguns esclarecimentos :thumbsup:

1º Um bom tuturial(preferencial em tuga) sobre threads e multi-threads

2ºÉ possivel fazer com que uma thread funcione como um evento Timer1_Tick ?

Isto porque eu quero fazer uma thread que apenas me actualiza umas TextBox que serão a posição de um eixo mecanico.

Imports System.Threading

Public Class FrmMain
    Dim dfXPos, dfXPul As Double
    Dim dfYPos, dfYPul As Double
    Dim dfZPos, dfZPul As Double
    Dim dfUPos, dfUPul As Double
    Dim dfVPos, dfVPul As Double
    Dim dfWPos, dfWPul As Double
    Public WithEvents TimeAct As ccrpTimers6.ccrpTimer

    ' Um delegate é uma referência ou apontador a um
    ' método e como a thread em si não pode executar
    ' operações é necessário utiliza-lo
    Delegate Sub myDelegate()
    ' Chama o delegate
    Private Sub backupThreadMain()
        If Me.InvokeRequired Then
            Me.Invoke(New myDelegate(AddressOf startBackUp))
        End If
    End Sub

    Private Sub startBackUp()
        Me.TextBox1.Text = dfXPos
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        TimeAct = New ccrpTimers6.ccrpTimer
        With TimeAct
            .EventType = ccrpTimers6.TimerEventTypes.TimerPeriodic
            .Interval = 1
            .Stats.Frequency = 1
            .Enabled = True
        End With
        Initmotion()
        ' Cria e inicia uma nova thread
        Dim bkThread As New Threading.Thread(AddressOf backupThreadMain)
        bkThread.Priority = ThreadPriority.Highest
        bkThread.IsBackground = False
        bkThread.Start()
    End Sub

    Private Sub TimeAct_Timer(ByVal Milliseconds As Integer) Handles TimeAct.Timer
        EP_GetUnitPos(dfXPos, dfYPos, dfZPos, dfUPos, dfVPos, dfWPos, 0)
        TextBox2.Text = dfXPos
    End Sub

    Private Sub btHome_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btHome.Click
        EP_GoHome(0, 255, 255, 255, 255, 255, 0)
    End Sub
End Class

Sds,

Hit_Braga


" Elogios não me elevam, ofensas não me rebaixam, sou o que sou e não o que acham! "

Share this post


Link to post
Share on other sites
neves92

eu precisava de um servidor e de um cliente para multi-threading por acaso sabem de algum tuturial?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.