从零基础接触java第六周第四节

  前面一节跟大家介绍了匿名内部类和同步代码块,这一节我跟大家分享分享多线程。

  在跟大家分享多线程之前,我先跟大家回忆一个权限词,也就是public,也许在我的分享里只跟大家分享了public和private,其实还有两个,分别是default和protected,其中这四个分别代表四种不同的权限,public最大,能被所有包,所有类,所有子类调用,其次是protected,这个有一个权限限制,也就是在其它包里不能调用,但是其它包里的子类可以调用,大家学过继承自然知道父类和子类的关系,这儿就不多说,然后就是default,只能在同一个包中调用。最后便是private,只能在同一个类中调用。

  大概跟大家介绍了四种权限,现在我来跟大家分享分享什么是多线程。请大家看下面代码:

public class Test{
public static void main(String[] args){
ThreadDemo t = new ThreadDemo();
ThreadDemo t1 = new ThreadDemo();
t.start();
t1.start();
}
}
class ThreadDemo extends Thread{
int i = 0;
public void run(){
for(;i<5;i++){
System.out.println(this.getName()+":"+i);
}
}
}

大家可以看到,我们定义了一个ThreadDemo类,继承了Thread这个类,而Thread这个类便是多线程;然后我们在ThreadDemo中实现了一个run方法,这也是必须实现的方法,不然多线程无法跑动,至于为了什么要实现run方法,我们可以看主函数中,定义了两个对象,然后调用了父类的start方法,我们就姑且认为,start方法中需要调用run方法。所以,继承了Thread并且实现了了run方法,并用start调用,我们就可以理解为一个多线程了。

  也许大家还是不明白什么叫多线程,比如我们车站买票,我们把卖票看做是一个进程,而卖票的窗口,也就是实现买票的我们看做一个线程。我们卖票如果只开设一个窗口,肯定很慢,并且有诸多不便,所以我们就需要多开设几个窗口来实施。在卖票的同时我们会发现一件事,就是也许是窗口1卖了第一张票,窗口2卖了第二张票,卖票的窗口不确定,但是最后都把票卖完了,大家可以运行以上代码,就会发现输出从0到4是不固定的。所以多线程还有个大特点就是抢,线程与线程之间会抢任务来执行。关于线程本节就跟大家介绍这么多,下节还会继续与大家分享,今天的Thread便是本节重点。

  线程姑且是小编认为java中最难的地方,如果你要玩好玩透彻,你还需要了解非常多的东西,包括一些设计模式,后面会大概跟大家提提。好了,关于线程本节讲解结束,小编不确定大家能听懂,只是希望给大家一个印象,方便以后学习。同时小编也希望如果文中有错误的地方希望指出。小编感激不尽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值