java 线程模拟

本文介绍了如何通过继承Thread类和实现Runnable接口来自定义Java线程。通过具体的代码示例,展示了线程的基本创建和启动过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天对java的线程做了进一步的认识,下面讲讲自己对线程的理解
我们要实现一个自己的线程可以继承Thread这个类即可

我们首先创建一个接口,模拟Runnable这个接口

public interface RunnableSY{
    public void run();//表示一个方法
}

这个接口这样命名为了仿照和区别,其他的都是添加SY,没有其他的含义
然后创建一个类ThreadSY,实现这个接口

public class ThreadSY implements RunnablesSY{
    private RunnableSY  ru;
    private String name;
    //初始化方法     
    private void init(RunnableSY ru,String name){
        this.ru = ru;
        this.name = name;
    }
    //构造方法
    public ThreadSY() {
        init(null, "threadsy");
    }
    public ThreadSY(RunnableSY ru,String name) {
        init(ru, name);
    }
    //这里仿照Thread里面的run方法写的,为什么这么写是有原因的
    public void run() {
        if(ru!=null){
            ru.run();
        }
    }
    public void start(){
        System.out.println("name:"+this.name);
        run();
    }   
    public final String getName(){
        return this.name;
    }
    public final void setName(String name){
        this.name = name;
    }
}

这样我们的两个类就完成了,其中ThreadSY这个类并不是完全和Thread的功能一样,Thread里面还有线程队列,权限操作,以及其他语言实现的部分方法,native关键字。
下面讲相应的使用
我们可以写一个类直接继承ThreasSY。然后重写他的run方法来实现相应的功能。同时也可以直接继承RunnableSY,实现他的run方法,然后构造一个ThreadSY 来实现run方法。因为java里面一个类只能继承一个父类,可能我们需要对一个类使用线程但是他继承了其他的类,就可以通过implements RunnablesSY这样来调用线程的运行。
具体工作中在什么地方会用到这个设计暂时还未想到。这是一个什么设计模式也还未看懂,欢迎大家指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值