大数据基础Java多线程入门
在大数据开发学习当中,Java基础是非常重要的一部分,打好了Java基础,才能在后续的大数据框架技术学习阶段,也能有所主力。而Java当中的一个重要知识点,就是多线程。今天的大数据基础分享,我们就主要来讲讲Java多线程入门基础。
一、线程与多线程
关于线程,官方定义是操作系统能够进行运算调度的最小单位,线程包含在进程之中,是进程中的实际运作单位。而多线程,致力于解决多任务同时执行的需求,合理使用CPU资源。
多线程的运行是根据CPU切换完成,如何切换由CPU决定。在实际运行当中,一个进程中可以并发多个线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。
二、为什么要使用多线程
更快的响应时间
多个线程并行执行不同的任务,使得单位时间内能够完成的任务更多,也能更快地完成大批量的任务。
更多的处理器核心
线程是大多数操作系统调度的基本单元,一个程序作为一个进程来运行,程序运行过程中能够创建多个线程,而一个线程在一个时刻只能运行在一个处理器核心上。
更好的编程模型
java为多线程编程提供了考究并且一致的编程模型,使开发人员能够更加专注于问题解决,即为所遇到的问题建立适合的模型,而不是绞尽脑汁地考虑如何将其多线程化。一旦开发人员建立好了模型,稍作修改总是能够方便地映射到Java提供的多线程编程模型上。
三、多线程如何实现
1.创建线程
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。Thread构造函数:
public Thread();
public Thread(Runnable target);
public Thread(String name);
public Thread(Runnable target,String name);
public Thread(ThreadGroup group,Runnable target);
public Thread(ThreadGroup group,String name);
public Thread(ThreadGroup group,Runnable target,String name);
public Thread(ThreadGroup group,Runnable target,String name,long stackSize);
2.线程的生命周期
与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。
//开始线程
publicvoid start();
publicvoid run();
//挂起和唤醒线程
publicvoid resume();//不建议使用
publicvoid suspend();//不建议使用
publicstaticvoid sleep(long millis);
publicstaticvoid sleep(long millis,int nanos);
//终止线程
publicvoid stop();//不建议使用
publicvoid interrupt();
//得到线程状态
publicboolean isAlive();
publicboolean isInterrupted();
publicstaticboolean interrupted();
//join方法
publicvoid join()throws InterruptedException;
线程在建立后并不马上执行run方法中的代码,而是处于等待状态。线程处于等待状态时,可以通过Thread类的方法来设置线程不各种属性,如线程的优先级(setPriority)、线程名(setName)和线程的类型(setDaemon)等。
当调用start方法后,线程开始执行run方法中的代码。线程进入运行状态。可以通过Thread类的isAlive方法来判断线程是否处于运行状态。当线程处于运行状态时,isAlive返回true,当isAlive返回false时,可能线程处于等待状态,也可能处于停止状态。
一但线程开始执行run方法,就会一直到这个run方法执行完成这个线程才退出。但在线程执行的过程中,可以通过两个方法使线程暂时停止执行。这两个方法是suspend和sleep。在使用suspend挂起线程后,可以通过resume方法唤醒线程。而使用sleep使线程休眠后,只能在设定的时间后使线程处于就绪状态。
有三种方法可以使终止线程。
①使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。
②使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。
③使用interrupt方法中断线程。
关于大数据基础,Java多线程入门,以上就为大家做了简单的介绍了。在Java基础学习阶段,多线程的概念是需要去理解透彻的,同时,多线程知识点在面试当中也是出现频率非常高的问题,值得重视。
科普小程序怎么开发?大概需要多少钱?小程序服务商怎么选?如今,小程序已经融入生活中的方方面面,不仅为商家带来了红利,也为人们的生活带来了便捷。可以说小程序已经成为线上经营的标配,不管是做企业官网还是零售电商生活服务类的,都拥有了自己的小
民宿如何利用小程序实现高效引流?教你5种超强策略无论是旅游的,还是出差的,酒店或者民宿都是居住选项之一,而民宿作为主打温馨实惠,在当下也是非常火热的。各家民宿为了提升入住率和好评率也是使出了浑身解数,小程序也是其中的一种方式,那
定制开发一款小程序几万到十几万,可以免费做小程序,不香吗?对小程序开发市场不了解的话,有一些企业商家可能会找传统的建站公司去定制小程序,也就是我们通常说的外包公司。要制作一款完整的小程序系统,这对外包公司的要求还是挺高的,要技术娴熟,对行
直播带货翻车不断,规范直播行为刻不容缓相较于传统电商和实体商铺,直播带货拥有更强的互动性和娱乐性,越来越多的消费者通过观看网络直播购物,在年初疫情的影响下,直播电商的优势得到进一步放大,为不少宅家的朋友提供了逛街剁手的
商业触摸一体机为什么选择触派?随着触摸一体机的广泛应用,在商业领域我们经常都能够看到它们的身影,商家们可以在机器上多样化展示商业信息,用户只需要用手指在屏幕上轻轻点击触摸,很多就可以得到想要的信息,非常简单便捷
触摸查询一体机推动政务信息公开在以往,政务机关的日常活动或者新闻资讯等信息基本都是通过纸质传媒进行展示的,这种信息展示方式存在不少的缺点,既效果不好,还会造成一定的环境污染。自从触摸查询一体机面世以来,便受到了
浅析教学触摸一体机的应用好处时代的进步,科技的发展,促使各个学校不断地更换教室的教学设备。由最早使用了很久很久的黑板加粉笔,到风靡一时的投影机加电子白板,再到如今触控时代的教学触摸一体机。教学设备的更新换代,
如何快速制作小程序商城?怎么做好小程序的运营增长?在2021上半年的数据统计中,微信小程序日活4。1亿,月活9亿,数量430万,预计年底GMV破3万亿,小程序经济圈进一步爆发,微信电商未来三年GMV可破10万亿。如今,不管是线下实
线下家具店如何利用小程序做营销?帮助门店拉新促转化随着生活方式的改变,越来越多的商家开始利用小程序做品宣卖货等等,以提升品牌知名度,为门店引流,实现客源销量双增长。家具行业作为一个高价位低频消费的行业,在日益激烈的竞争中,宣传方式
童年的龟中精灵巴西龟,请再给我一次机会,好好爱你各位朋友们,大家好,我是瑞克小暴。近期有朋友们问我啊,小暴啊,能不能分享些平价龟种啊?大家都是初级玩家,你讲的那些个半水龟咱不懂啊,也不敢接触。Ok,这次,我们就来聊一聊平价龟种中
国际捐赠最新排行榜国际捐赠最新排行榜第一,美利坚合众国0第二,加纳,一万只医用口罩!第三,缅甸200吨大米第四,斯里兰卡红茶若干!第五,英国,手套五万副第六,土耳其,1000套防护服,1000套防化