美文网首页
Lambda表达式解决线程间操作无效问题

Lambda表达式解决线程间操作无效问题

作者: GoodTekken | 来源:发表于2021-07-08 11:39 被阅读0次

传统方式:

    delegate void ChangeDelegate(string text);
    private void Settext(string text)
    {
        textBox1.Text = text;
    }

    private void Change(EventArgs e)
    {
        PublisherEventArgs args = (PublisherEventArgs)e;
        string text = args.text;
        this.BeginInvoke(new ChangeDelegate(Settext), text);
    }

其中调用了事件订阅的方法,直接使用可以更改方法名为private void Change(string text)即可直接赋值。
这种方法的缺点时需要在外部声明委托和方法,代码不够简单。所以优化后的结果如下:

    private void Change(EventArgs e)
    {
        PublisherEventArgs args = (PublisherEventArgs)e;
        string text = args.text;
        Action<string> Set = text => textBox1.Text = text;
        this.BeginInvoke(Set, text);
    }

因此使用Lambdad可以让代码更加优雅。

相关文章

  • Lambda表达式解决线程间操作无效问题

    传统方式: 其中调用了事件订阅的方法,直接使用可以更改方法名为private void Change(string...

  • jdk8新特性-Lambda表达式及函数式接口

    在多线程方面,Lambda表达式的使用 不使用Lambda表达式的情况下,开启多线程的方式 使用Lambda表达式...

  • Java8 Lambda表达式初探

    Lambda表达式的浅显理解 使用Lambda表达式可以简化我们的代码 解决无法获取非final对象的问题 在有L...

  • Java8新特性

    一、Lambda表达式 Lambda表达式引入了一个新的操作符" -> "。Lambda表达式将函数当成参数传递给...

  • 7.线程池、Lambda表达式

    主要内容 等待与唤醒案例 线程池 Lambda表达式 第一章 等待唤醒机制 1.1 线程间通信 概念:多个线程在处...

  • 【Python】-015-函数-函数式编程-3-lambda表达

    lambda表达式 语法,返回匿名函数,给变量lambda 参数:操作(参数) 示例add = lambda x,...

  • lambda表达式

    lambda 表达式的基础语法: Java 8 中引入了操作符 -> 箭头操作 lambda 操作符 箭...

  • 语法糖

    lambda表达式 双冒号操作符

  • JDK1.8新增特性参考

    Lambda表达式 Stream函数式操作流元素集合 接口新增:默认方法与静态方法 方法引用,与Lambda表达式...

  • 2019-11-06

    1.1 为什么需要Lambda表达式? 使用Lambda表达式可以使代码变的更加紧凑,例如在Java中实现一个线程...

网友评论

      本文标题:Lambda表达式解决线程间操作无效问题

      本文链接:https://www.haomeiwen.com/subject/qwozultx.html