aardio - 【库】godking.lock 跨进程、跨线程,高性能读写锁

import win.ui;
/*DSG{
  
  {*/
var winform = win.form(text="aardio form";right=272;bottom=203;topmost=1)
winform.add(
button={cls="button";text="无锁演示";left=27;top=132;right=120;bottom=184;z=2};
button2={cls="button";text="有锁演示";left=139;top=132;right=232;bottom=184;z=3};
edit={cls="edit";text="0";left=54;top=26;right=206;bottom=109;edge=1;font=LOGFONT(h=-16);multiline=1;z=1}
)
/*}}*/
 
import godking.lock;
import raw.struct;
var lock = godking.lock();
var data = ..raw.struct({int v});
winform.button.oncommand = function(id,event){
    winform.button.disabled = true;
    winform.button2.disabled = true;
    for(i=1;5;1){
        thread.invoke( 
            function(data){
                while(1){
                    import console;
                    console.dump("正在写=====");
                    thread.delay(1000);
                    data.v++;
                    console.dump("已写完");
                }
            },data
        )
    }
    thread.invoke( 
        function(data,winform){
                while(1){
                    thread.delay(200);
                    winform.edit.text = data.v;
                }
        },data,winform
    )
}
 
winform.button2.oncommand = function(id,event){
    winform.button.disabled = true;
    winform.button2.disabled = true;
    // 创建 5 个线程,申请【写】权限,进行数据写入。
    for(i=1;5;1){
        thread.invoke( 
            function(data,lock){
                import go
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值