【Groovy】Groovy 扩展方法 ( Groovy 扩展方法引入 | 分析 Groovy 中 Thread 类的 start 扩展方法 )
2023-06-13 09:18:00 时间
文章目录
一、Groovy 扩展方法引入
Groovy 可以对 JDK 中的一些类进行 方法扩展 , 这些 JDK 自带类可以执行额外的扩展方法 ;
在之前的博客 【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 服务器客户端完整代码示例 | 运行服务器端与客户端效果及过程分析 ) 中 , 使用了
Thread.start {
}
用法 , 在闭包中执行的就是线程 Thread
的 run
方法内容 ;
二、 分析 Groovy 中 Thread 类的 start 扩展方法
分析该为 Thread
类扩展的 start
扩展方法 , 扩展方法定义在了 DefaultGroovyStaticMethods 类中 ;
该 start
方法接收一个 Thread self 线程对象 参数 和 Closure closure 闭包参数 ;
指定为哪个类定义扩展方法 : 第一个参数 Thread self , 表示只能在 Thread
对象上调用该 start
扩展方法 , 其它非 Thread 类型的对象 , 无法调用该 start 方法 ;
指定扩展方法的参数 : 第二个参数 Closure closure , 表示为 Thread 类扩展的 start 方法参数是 闭包 类型 ;
Thread 类的 start 扩展方法 源码 :
/**
* 这个类定义了groovy环境中普通JDK类上出现的所有新的静态groovy方法。
* 静态方法与第一个参数一起用作目标类。
*/
public class DefaultGroovyStaticMethods {
/**
* 以给定的闭包作为可运行实例启动线程。
*
* @param self Groovy类别使用的占位符变量;默认静态方法忽略
* @param closure 可运行的闭包
* @return 返回已经启动的线程
* @since 1.0
*/
public static Thread start(Thread self, Closure closure) {
return createThread(null, false, closure);
}
}
相关文章
- 「python」私有属性和私有方法(扩展知识)
- 微服务架构实战:可扩展分布式数据库集群的搭建
- 大厂如何打造可扩展的高并发系统?
- Linux下部署Memcached和PHP的Memcache扩展方法
- 【Groovy】Groovy 扩展方法 ( 静态扩展方法配置 | 扩展方法示例 | 编译静态扩展类 | 打包静态扩展类字节码到 jar 包中 | 测试使用 Thread 静态扩展类 )
- 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ① ( 安装中文扩展 | 安装 C/C++ 扩展 )
- 基于php的redis扩展实现更高效、更快速操作(php的redis扩展)
- Linux中的动态可扩展Achievement(linuxo)
- 「用Linux构建网站:安全、可靠、易扩展」(网站建设linux)
- php扩展ZF——Validate扩展
- windows下开发并编译PHP扩展的方法
- linux下为php添加curl扩展的方法
- 扩展JavaScript功能的正确方法(译文)
- Linux下为PHP添加扩展库的方法
- JavaScriptArray对象扩展indexOf()方法
- C#实现Array添加扩展实例