大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
那个控件好像是阻塞的,可以放在线程里面,或者自己去了解协议,自己写驱动
目前成都创新互联公司已为近1000家的企业提供了网站建设、域名、网站空间、网站托管、企业网站设计、卫辉网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
同学。。你这里的写法其实根本没有用到多线程
原因很简单
你是定义了一个T的新线程,但是很可惜你在BeginDoSub这个独立的线程中又定义了一个deSomeSub的委托,并且直接用Me.Invoke把实际的执行任务提交给界面主线程运行了
所以你的图片的处理函数实际上是在主线程中运行的,新线程等于没用
正确的作法是,T定义为SomeSub这个函数为入口的线程,并启动它
在界面进度条更改的时候再使用Invoke来调用委托来进行界面更改。
自己再好好看看吧,时间问题我要走了。
你在第一个窗口里写 Form2.ShowDialog()
这样就可以了,关掉form2的时候form1的代码就会继续执行
“卡死”是一个非常主观的描述,如果你要让主线程杀掉卡死的线程,那么你必须给“卡死”做出准确的定义。
什么是卡死?30秒没有响应就是卡死?那么“没有响应”的定义又是什么?
你给出这些条件以后,杀掉一个线程就不难。Abort方法,Dispose方法,都可以。
上位机软件接收大量数据并显示,会造成界面卡顿,可采用双缓冲技术,即将数据存到内存,再将其绘制到界面,比将数据直接绘制到界面要省很多时间
添加在子进程里面,就加在你批量传输代码里的每一个传输后面,也就是大批量中的每传输一个数据就暂停一下,而不是每一个大批量才暂停一下。
在循环语句中加入若干行(一般三行就行)如下的代码:
DoEvents