Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class Form1
- Dim amount As Integer = 30
- Dim pics(amount) As Bitmap
- Dim sw As Stopwatch = New Stopwatch()
- Dim t As Threading.Thread
- 'For
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- sw.Restart()
- sw.Start()
- For i = 0 To amount - 1
- picset(i)
- Next
- Label1.Text = sw.ElapsedMilliseconds
- End Sub
- 'Parallel.For
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- sw.Restart()
- sw.Start()
- Threading.Tasks.Parallel.For(0, amount - 1, AddressOf picset)
- Label2.Text = sw.ElapsedMilliseconds
- End Sub
- 'Time waster
- Private Sub picset(ByVal i As Integer)
- pics(i) = New Bitmap(640, 480)
- For i2 = 0 To pics(i).Width - 1
- For i3 = 0 To pics(i).Height - 1
- pics(i).SetPixel(i2, i3, Color.Blue)
- Next
- Next
- End Sub
- 'Background worker
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
- sw.Restart()
- sw.Start()
- BackgroundWorker1.RunWorkerAsync()
- End Sub
- Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
- For i = 0 To amount - 1
- picset(i)
- Next
- End Sub
- Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
- Label3.Text = sw.ElapsedMilliseconds
- End Sub
- 'Threadpool
- Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
- Threading.ThreadPool.QueueUserWorkItem(AddressOf callthread1)
- End Sub
- Private Sub callthread1(ByVal stateInfo As Object)
- sw.Restart()
- sw.Start()
- For i = 0 To amount - 1
- picset(i)
- Next
- MsgBox(sw.ElapsedMilliseconds)
- End Sub
- 'Thread
- Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
- sw.Restart()
- sw.Start()
- t = New Threading.Thread(AddressOf callthread2)
- t.IsBackground = False
- t.SetApartmentState(Threading.ApartmentState.MTA)
- t.Start()
- End Sub
- Private Sub callthread2()
- For i = 0 To amount - 1
- picset(i)
- Next
- MsgBox(sw.ElapsedMilliseconds)
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement