首次接触powerbuilder 这一出面向对象的程序设计语言。
刚开始有点不适应,虽然接触面向对象技术已经很久了。
在pb中 关于多线程实在6.0以后才有的。下面来说说pb中多线程的实现方式。
熟悉pb的程序员可能都了解,在6.0版本以后,sybase 给pb加入了几个内置函数。
sharedobjectregister(classname,instancename)
sharedobjectget(instancename,objectinstance)
sharedobjectunregister(instancename)
其中第一个方法
是用来注册一个共享对象。 其中classname 是一个nonvisualuserobject instancename 是随便起的一个用来标记该实例的名字。
第二个方法 是如何将刚刚声明的这个共享对象赋值给系统中声明的变量。其中 instancename 是你随便起的那个名字。而objectinstance 是 系统中你用来
访问该对象的名字。
第三个方法是一个用来解除绑定的方法。instancename是你随便起的那个名字,有必要说明的一点是,当你释放了一个对象时,并不是真正的立即释放
该对象所占用的内存。当仍然有引用引用该对象时,不释放。
对于共享对象需要注意的一点是: pb中 在多线程模式下,共享对象不能共有全局变量的值。因为sharedobject是一个相对独立的内存,
他和主线程并不相互共有信息。如果想在其中有相互的交互行为。必须借助第三方,即通过声明一个nonvisualobject 通过主线程传递给sharedobject
然后通过sharedobject触发nonvisualobject的事件,以此来触发主线程的某个事件,达到相互交互的目的。
详细信息可以参见我的另一篇文章《Powerbuilder多线程编程》
本文介绍了PowerBuilder 6.0版本之后引入的多线程编程支持,详细讲解了通过sharedobject系列内置函数实现线程间通信的过程。共享对象不能直接共享全局变量,需借助nonvisualobject对象进行事件触发来实现主线程与子线程之间的交互。
1万+

被折叠的 条评论
为什么被折叠?



