关于powerbuilder中的多线程机制

本文介绍了PowerBuilder 6.0版本之后引入的多线程编程支持,详细讲解了通过sharedobject系列内置函数实现线程间通信的过程。共享对象不能直接共享全局变量,需借助nonvisualobject对象进行事件触发来实现主线程与子线程之间的交互。

首次接触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多线程编程》

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值