当前位置:  开发笔记 > 编程语言 > 正文

如何通过与主UI不同的线程调用我的方法?

如何解决《如何通过与主UI不同的线程调用我的方法?》经验,为你挑选了1个好方法。

我将自己制作的数据访问类(DAL)传递给另一个类,以便它可以使用这些数据访问方法在我的sqlite数据库中存储数据.

这是类型安全的,因为访问数据库的每个方法都会创建自己的连接对象,因此对连接对象的调用始终来自创建它的同一个线程.

我想在我的DAL类中使用一个连接(或连接对象池),如果对我的DAL的所有调用都来自主UI线程,这将正常工作.

有没有办法让我的DAL类在从主线程调用时使用连接对象(或它们的池),但如果从后台线程调用则使用不同的连接对象?



1> Jeff Yates..:

您可以调用InvokeRequired任何WinForms Control派生类型来确定您是否在主线程上.如果InvokeRequired返回true,那么您不在主UI线程上.

如果您使用的是WPF,则可以调用其中一个UI元素Dispatcher.CheckAccessDependencyObject.Dispatcher属性.如果CheckAccess返回true,则它是主UI线程.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有