不同线程委托不能同时运行
最近在VB.net里面使用了线程+委托。
发现一个问题,就是两个线程,他们各自的委托不能同时运行。
×××
众所周知,线程是为了独立运行的,不同的线程函数可以同时运行。就算是某一个线程函数进入死循环,另外一个线程函数还是可以运行的。
但是,线程的委托不可以。
发现一个问题,就是两个线程,他们各自的委托不能同时运行。
×××
众所周知,线程是为了独立运行的,不同的线程函数可以同时运行。就算是某一个线程函数进入死循环,另外一个线程函数还是可以运行的。
但是,线程的委托不可以。
Imports System.Threading
Public Class Form1
Dim m_PaiATape_Thread As Thread
Dim m_PaiBTape_Thread As Thread
Dim m_1 As Int32
Dim m_2 As Int32
Private Delegate Sub Gsz_WeiTuo_Pai_ATape(ByVal i As Integer) '此处声明的委托只有一个参数,没有返回值.大老板说想要一个经理,并且说了这个经理大致接口
Private Delegate Sub Gsz_WeiTuo_Pai_BTape(ByVal i As Integer) '此处声明的委托只有一个参数,没有返回值.大老板说想要一个经理,并且说了这个经理大致接口
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
m_PaiATape_Thread = New Thread(AddressOf xianchenghanshu01)
m_PaiATape_Thread.Start()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
m_PaiBTape_Thread = New Thread(AddressOf xianchenghanshu02)
m_PaiBTape_Thread.Start()
End Sub
#Region "线程函数"
Private Sub xianchenghanshu01(ByVal i As Int16)
Dim gsz_1 As Int32 = 0
Dim Gsz_WeiTuo_Pai_ATape01 As New Gsz_WeiTuo_Pai_ATape(AddressOf xiaodi1) '实例化一个委托。 找到一个活生生的经理。并给这个经理配置一个小弟。
Me.Invoke(Gsz_WeiTuo_Pai_ATape01, 11) '执行这个委托。 这个活生生的经理 给小弟一个指令后,让他开始干活
Thread.Sleep(200)
End Sub
Private Sub xianchenghanshu02(ByVal i As Int16)
Dim gsz_2 As Int32 = 0
While True
Dim Gsz_WeiTuo_Pai_BTape01 As New Gsz_WeiTuo_Pai_BTape(AddressOf xiaodi2) '实例化一个委托。 找到一个活生生的经理。并给这个经理配置一个小弟。
Me.Invoke(Gsz_WeiTuo_Pai_BTape01, 11) '执行这个委托。 这个活生生的经理 给小弟一个指令后,让他开始干活
Thread.Sleep(200)
End While
End Sub
#End Region
#Region "小弟"
Private Sub xiaodi1(ByVal i As Int16)
Dim gsz_001 As Int32
While True
gsz_001 = gsz_001 + 1
Me.TextBox1.Text = gsz_001
Thread.Sleep(1000)
Me.Refresh()
End While
End Sub
Private Sub xiaodi2(ByVal i As Int16)
Dim gsz_002 As Int32
While True
gsz_002 = gsz_002 + 1
Me.TextBox2.Text = gsz_002
Thread.Sleep(1000)
Me.Refresh()
End While
End Sub
#End Region
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.TextBox1.Text = m_1
Me.TextBox2.Text = m_2
End Sub
End Class
...全文
相关推荐
C#多线程技术.ppt
C#多线程技术.ppt
C#中实现多线程委托的具体指南
本文还有配套的精品资源,点击获取 简介:在C#编程中,多线程和委托是提高应用程序性能和响应性的关键概念。本文将介绍如何在Windows Forms应用中利用这些概念,以按钮点击事件为例,通过主线程和新建线程分别向listview控件添加数据。内容涵盖线程创建与管理、委托的使用、事件和异步操作,以及如何安全地从多线程中更新UI控件。 1. 多线程概念与C#实现 ...
C#多线程进度条示例源码下载
C#使用委托和事件写的,一个多线程进度条的Demo。
C#多线程控制控件实例.doc
C#多线程控制控件实例.doc
c#后台线程访问前台控件并显示信息示例
主要介绍了c#后台线程访问前台控件并显示信息示例,需要的朋友可以参考下


