Java线程创建中的静态代理模式

我也是小白,各位倘若看到一定要带着思考去看。

 

一、背景

在通过Runnable接口创建线程时,启动线程需要借助Thread类,这里就涉及到了静态代理模式。

 

二、实例

以歌手演出为例,在演出的这个过程中,歌手与他的助理他们有一个共同的目标"完成这场演出"。

为啥需要歌手需要有助理呢?

因为举办好一场演出有很多繁琐的事情要做,为了让歌手专心完成"唱歌"这件事,助理就需要在背后帮助歌手做很多事情。

1.助理负责帮助歌手做一些辅助工作,例如帮忙宣传、帮忙计划行程、帮忙订机票等等。

2.歌手负责唱歌这件事情。

 

三、实例的代码体现

1.公共的接口show

歌手与助理为了完成演出,都需要为这场演出做一些事情。

 

2.歌手类Singer实现Show接口

歌手要做的事情主要就是唱歌

 

3.助理类AssistantManager实现Show接口

助理要帮助歌手做一些辅助的工作

 

 这样写助理和歌手好像并没有联系起来,我们只知道助理和歌手都为了同一场演出做了一些事情。

 那这个助理究竟是服务哪一位歌手呢?

A.我们为助理类设置了一个成员变量"歌手"

B.为助理类创建了相应的构造方法

(经过以上两步,助理类在创建时就自带了一个相应的"歌手")

C.在演出所做的事情中,让助理对应的歌手完成"唱歌"这件事。

 

在创建助理类对象时设置相应的对象,借助助理类对象,就可以完成"演出"这整个过程。

 

 

 运行代码:

 

四、总结

1.Java中的Thread类实现了Runable接口

即Thread类相当于上文中的"助理"

 

 2.我们写的类也是实现了Runnable接口

即我们写的类相当于上文中的"歌手"

 

 

 3.在实现了Runnable接口后通过代理类Thread对象完成线程的启动

A.在代理类Thread对象的创建中,声明了我们所写的实际对象,eg:"myRunnable"。

B.然后由Thread类协助我们完成这一系列的操作。

C.看似简单的start()背后,代理类Thread还帮助我们做了很多事。

 


__EOF__

本文作者羊37
本文链接https://www.cnblogs.com/yang37/p/12683021.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   羊37  阅读(371)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示