2021SC@SDUSC【软件工程应用与实践】Cocoon代码分析(十一)

本文分析了Cocoon项目中与线程相关的代码,包括thread-api和thread-impl两个部分。thread-api包含RunnableManager、ThreadFactory和ThreadPool接口,定义了线程池管理和创建的规范。thread-impl则是这些接口的具体实现,如Queue、BoundedQueue、DefaultRunnableManager、DefaultThreadFactory和DefaultThreadPool等,详细讲解了各个组件的关键方法和功能。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

这是第十一篇代码分析的博客,到目前为止我们小组的core文件夹里的代码分析已经完成。在这一篇博客中,我将分析一些不太重要的代码,分析的代码为与thread有关的两个文件夹,分别是thread-api和thread-impl,一个是关于线程的接口,一个是关于线程的实现。

thread-api

在这个文件夹中一共有三个java接口,分别是RunnableManager,ThreadFactory,ThreadPool。这些接口是用于线程工厂和池以及执行后台任务的接口。

RunnableManager

RunnableManager接口描述了在后台运行命令的实现的功能。

  • 主要属性
    • ROLE:String类型,用于表示角色名称
  • 主要方法
    • createPool()
      • 该方法被重载了,返回值为ThreadPool。如果传入的参数有线程池的名字,则主要作用是使用特定的ThreadFactory创建一个共享ThreadPool;如果传入的参数没有线程池的名字,则作用为创建一个带有特定ThreadFactory的私有ThreadPool。其他;两个方法相同的参数大多都是一些对线程的描述。
    • getPool()
      • 该方法的返回值值也是ThreadPool,这个方法的主要作用是获取ThreadPool线程池。
    • excute()
      • 无返回值,该方法被重载了很多次,大多数的作用为在后台立即执行一个可运行程序,除了一个含有参数interval的方法作用有些不同,作用为在后台延迟和重复执行一个可运行程序,其中interval为重复运行的间隔时间。这些方法都有一个共同的参数:threadPoolName——要使用的线程池。
    • remove()
      • 返回值为空,有一个参数command——需要删除的命令,作用是从执行堆栈中删除一个可运行的命令。

ThreadFactory

ThreadFactory接口描述了工厂为RunnableManager的threadpool创建线程的职责

  • 主要方法
    • getPriority()
      • 返回值类型为int,用于获取新创建线程的优先级
    • isDaemon()
      • 返回值类型为boolean,用于获取线程将要创建的守护模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值