网站建设资讯

NEWS

网站建设资讯

关于vb.net程序假死的信息

vb.net 多线程 窗体 假死

并没有看出什么地方可能导致程序假死,这排版也太乱了.不妨调试一下程序,当出现你说的"假死"后暂停一下程序,看看线程都卡在哪里.

站在用户的角度思考问题,与客户深入沟通,找到扎囊网站设计与扎囊网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册雅安服务器托管、企业邮箱。业务覆盖扎囊地区。

另外,从设计上来看,你这里并不需要多线程操作.

VBnet 我的多线程测试为什么窗口假死了?

原因很简单

你是定义了一个T的新线程,但是很可惜你在BeginDoSub这个独立的线程中又定义了一个deSomeSub的委托,并且直接用Me.Invoke把实际的执行任务提交给界面主线程运行了

所以你的图片的处理函数实际上是在主线程中运行的,新线程等于没用

正确的作法是,T定义为SomeSub这个函数为入口的线程,并启动它

在界面进度条更改的时候再使用Invoke来调用委托来进行界面更改。

vb.net 多线程调用另一窗口,假死现象,如何解决

感觉问题出在

Form2.Show() '启动倒计时显示窗口

这一句上。

这一句应该只需要执行一次就行了。

把它放在timer中,多次调用,造成假死。

vb.net多线程,循环导致窗口界面假死的问题

同学。。你这里的写法其实根本没有用到多线程

原因很简单

你是定义了一个T的新线程,但是很可惜你在BeginDoSub这个独立的线程中又定义了一个deSomeSub的委托,并且直接用Me.Invoke把实际的执行任务提交给界面主线程运行了

所以你的图片的处理函数实际上是在主线程中运行的,新线程等于没用

正确的作法是,T定义为SomeSub这个函数为入口的线程,并启动它

在界面进度条更改的时候再使用Invoke来调用委托来进行界面更改。

自己再好好看看吧,时间问题我要走了。

vb.net VS2010环境 程序假死问题?

你把

TextBox1.AppendText(SerialPort1.ReadExisting)

替换成

TextBox1.AppendText(SerialPort1.ReadLine)

SerialPort1.DiscardInBuffer()

试试看

我之前用ReadExisting也遇到过类似情况,后来换成ReadLine就可以了

Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

TextBox1.AppendText(SerialPort1.ReadLine) 

SerialPort1.DiscardInBuffer()

End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

If SerialPort1.IsOpen Then

SerialPort1.DiscardInBuffer() '清除数据接收区

SerialPort1.DiscardOutBuffer() '清除数据发送区

End If

TextBox1.Clear()‘清屏

vb.net 线程托管 窗口假死

Me.Invoke(d, i)

问题出在这里!

直接用Me.Invoke把实际的执行任务提交给主线程运行

所以你的处理函数实际上是在主线程中运行的,新线程等于没用

正确的作法是,定义一个函数为入口的线程,并启动它

在需要调用的时候再使用Invoke来调用委托来进行更改。

----------------------------------------------------------------

方法已经给你说明白了,新建1个线程和2个线程来操作有什么不通用的哪??

问题不是线程个数的问题,是你线程中的函数一直在调用settext和settext1两个函数,而这两个函数都是处于method 方法 的while的循环中,相当于不间歇的在使用 Me.Invoke(d, i)这个方法。

----------------------------------------------------------------

如果你要不停地通过另外一个线程修改richtextbox内的内容,那也可以新启动一个线程,由这个线程的入口方法创建一个richtextbox ,再由这个线程来对这个richtextbox 进行操作。当然,你也可以用不安全的线程间的操作方法来实现。


名称栏目:关于vb.net程序假死的信息
网页路径:http://njwzjz.com/article/hdhghd.html