Mostrando las entradas con la etiqueta procesos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta procesos. Mostrar todas las entradas

jueves, 18 de julio de 2019

lista de procesos

Imports System.IO



Public Class Form1

    Public t As Timer

    Private mtimers() As Timer


    Private sc1 As New Object
    Private sc2 As New Object

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim max As Integer = 2

        ReDim mtimers(max)
        For i As Integer = 0 To max
            t = New Timer

            If i = 0 Then
                t.Interval = 100 * 1
            ElseIf i = 1 Then
                t.Interval = 1000 * 1
            ElseIf i = 2 Then
                t.Interval = 1000 * 30
            End If

            t.Enabled = True
            t.Tag = i + 1
            AddHandler t.Tick, AddressOf Timer_Tick
            mtimers(i) = t
        Next

    End Sub

    Private Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
        Dim timer As Timer = DirectCast(sender, Timer)
        Select Case timer.Tag
            Case "1"

                Dim th1 As Threading.Thread
                'th1 = New Threading.Thread(AddressOf function1)
                th1 = New Threading.Thread(Sub() Me.function1(7))
                th1.Start()

                'Dim sw As New StreamWriter("test1.txt", True)
                'sw.WriteLine(Now.ToString("HH:mm:ss"))
                'sw.Close()

                'While True
                'End While

                'timer.Stop()
            Case "2"
                'MessageBox.Show("TAG 2")
                Dim th2 As Threading.Thread
                th2 = New Threading.Thread(AddressOf function2)
                th2.Start()


                'Dim sw As New StreamWriter("test2.txt", True)
                'sw.WriteLine(Now.ToString("HH:mm:ss"))
                'sw.Close()


            Case 3
                Dim th3 As Threading.Thread
                th3 = New Threading.Thread(AddressOf function3)
                th3.Start()


        End Select
    End Sub


    Private Sub function1(ByVal id As Integer)

        SyncLock sc1

            'If id = 1 Then
            '    Exit Sub
            'End If

            'While True
            '    Threading.Thread.Sleep(1000)
            'End While


            Dim sw As New StreamWriter("test1.txt", True)
            sw.WriteLine(Now.ToString("HH:mm:ss"))
            sw.Close()

        End SyncLock
    End Sub

    Private Sub function2()
        SyncLock sc1
            Dim sw As New StreamWriter("test1.txt", True)
            'sw.WriteLine(Now.ToString("HH:mm:ss"))
            sw.WriteLine("hola!")
            sw.Close()

        End SyncLock
    End Sub


    Private Sub function3()
        Dim sw As New StreamWriter("test3.txt", True)
        sw.WriteLine(Now.ToString("HH:mm:ss"))
        sw.Close()
    End Sub


    Private Sub btn_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancel.Click
        For Each t As Timer In mtimers
            t.Stop()
        Next
    End Sub

End Class
' https://www.dreamincode.net/forums/topic/140657-how-to-use-the-timer-as-array/
' http://vbcity.com/forums/t/36812.aspx
' https://social.msdn.microsoft.com/Forums/vstudio/en-US/ce7214c3-2116-4cfa-bb70-58ba2997cea7/stop-all-timers-at-once?forum=vbgeneral

lista de funciones con timer

Imports System.IO

Public Class Form1

    Public t As Timer

    Private mtimers() As Timer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ReDim mtimers(1)
        For i As Integer = 0 To 1
            t = New Timer
            t.Interval = 1000 * (i + 1)
            t.Enabled = True
            t.Tag = i + 1
            AddHandler t.Tick, AddressOf Timer_Tick
            mtimers(i) = t
        Next

    End Sub

    Private Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
        Dim timer As Timer = DirectCast(sender, Timer)
        Select Case timer.Tag
            Case "1"
                Dim sw As New StreamWriter("test1.txt", True)
                sw.WriteLine(Now.ToString("HH:mm:ss"))
                sw.Close()
                'timer.Stop()
            Case "2"
                'MessageBox.Show("TAG 2")
                Dim sw As New StreamWriter("test2.txt", True)
                sw.WriteLine(Now.ToString("HH:mm:ss"))
                sw.Close()
        End Select
    End Sub

    Private Sub btn_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancel.Click
        For Each t As Timer In mtimers
            t.Stop()
        Next
    End Sub

End Class

fuente1
fuente2
fuente3