好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 yujun199901 于 2019-7-31 11:40 编辑
本人在公司使用C#winform进行开发,开发过程中遇到了一些问题,求助大佬们的帮助
问题一:多线程问题
我所开发的c/s架构的软件,其中一个界面的功能是,每隔3秒通过http协议的post请求方式发送一段数据到对应的设备主机中,主机返回一串数据,客户端解析数据,反馈到用户界面上.
设备主机上有多个设备,每个设备都有对应的设备id,每个设备都有单独的自定义控件.由于有要求每个设备都要每隔3秒都要查询数据,于是我在自定义控件时,使用了timer这个控件,达到每隔
3秒查询一次的效果,为了防止用户界面卡死,我在timer_strat中使用的方法是多线程的方式.Thread thread=new thread(GetDevicestratus);thread.isbackground=ture;thread.start();之后我在用户
自定义控件中定义了一个方法UserController_VisibleChanged;这个事件中执行了判断UserController.Visible为false就执行---->timer1.stop();这个方法.终止了这个每隔3秒进行查询的功能,然而
在我通过资源管理器中查看在我切换界面后并没有终止查询,并且界面来回切换后,程序所占的cpu资源变得更加的多了.
问题二:定时器-------问题一有关
有没有更好的实现3秒一查的好方法.求助大佬,
问题三:句柄问题------问题一有关
当我关闭程序时,vs开发工具中会产生一个this.invoke();的问题这个现实没有不能.invoke或者beginInvoke();的提示,如何解决
我的表达能力有限还望谅解--------------------------------------------------------------如果有我没讲清楚的地方请在评论区中@我,我看到了就会回复谢谢.
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|