范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

大数据编程入门Java多线程编程

  当执行一些耗时操作比如发起网络请求或者读取数据库时,常常会使用多线程编程,那么什么是多线程编程呢?今天小编为大家带来的是大数据编程入门:Java多线程编程。
  一、Java多线程概念
  Java为多线程编程提供了内置支持。线程是指进程中的单个顺序控制流。一个进程中可以有多个线程并发,每个线程并行执行不同的任务。
  多线程是多任务处理的一种特殊形式,但多线程使用较少的资源开销。
  这里定义了另一个与线程相关的术语-进程:进程包括操作系统分配的内存空间,并包含一个或多个线程。线程不能独立存在,这必须是一个过程的一部分。进程将一直运行,直到所有非守护进程线程都完成运行。
  多线程可以满足程序员编写高效的程序并充分利用CPU。二、一个线程的生命周期
  线程是一个动态执行过程,和自然界的生物一样,它也有一个从产生到死亡的过程。
  以下将展示一个线程完整的生命周期图:
  ① 新建状态:
  使用new关键字和Thread类或其子类创建线程对象后,则该线程对象处于新状态。它将保持此状态,直到程序start()线程。
  ② 就绪状态:
  当线程对象调用start()方法时,线程进入就绪状态。处于就绪状态的线程位于就绪队列中,需要等待JVM中线程调度器的调度。
  ③ 运行状态:
  如果就绪线程获得CPU资源,它可以执行run(),并且线程正在运行。处于运行状态的线程是最复杂的,可能会被阻塞、就绪和失效。
  ④ 阻塞状态:
  如果线程执行sleep、suspend和其他方法并丢失其占用的资源,则该线程将从运行状态进入阻塞状态。睡眠时间到期或设备资源已获得后,可以重新进入就绪状态,可分为三种类型:
  A. 等待阻塞:处于运行状态的线程执行wait()方法,使线程进入等待阻塞状态。
  B. 同步阻塞:线程无法获取同步同步锁(因为同步锁被其他线程占用)。
  C. 其他阻塞:当通过调用线程的sleep()或join()发出I/O请求时,线程将进入阻塞状态。当sleep()状态超时时,join()等待线程终止或超时,或者I/O处理完成,线程返回就绪状态。
  ⑤ 死亡状态:
  当正在运行的线程完成任务或出现其他终止条件时,该线程将切换到终止状态。三、线程的的优先级
  每个java线程都有一个优先级,这有助于操作系统确定线程的调度顺序。
  java线程的优先级是一个值范围为1(Thread.MIN_PRIORITY )-10(Thread.MAX_PRIORITY )默认情况下,每个线程都被分配一个优先级NORM_PRIORITY(5)。
  优先级越高的线程对程序越重要,处理器资源应该在优先级较低的线程之前分配。然而,线程优先级并不能保证线程的执行顺序,它非常依赖于平台。四、创建一个线程
  在Java中 提供了三种创建线程的方法:
  ① 通过实现 Runnable 接口;
  ② 通过继承 Thread 类本身;
  ③ 通过 Callable 和 Future 创建线程。五、通过实现Runnable接口来创建线程
  创建线程的最简单方法是创建一个实现Runnable接口的类。
  类只需要执行一个方法调用run()就可以实现Runnable,声明如下:
  public void run()
  可以重写此方法,重要的是要理解run()可以调用其他方法、使用其他类和声明变量,就像主线程一样。
  在Runnable接口的类实现后,可以在类中实例化一个线程对象。
  下面是Thread定义的一种常用的构造方法:
  Thread(Runnable threadOb,String threadName);
  上面的threadOb是实现Runnable接口的类的实例,threadName指定新线程的名称。
  创建新线程后,在它运行之前调用它的start()方法。
  void start();
  以下是一个创建并执行的线程实例:
  运行结果:
  六、通过继承Thread来创建线程
  创建线程的第二种方法是创建继承Thread类的新类,然后创建该类的实例。
  继承的类必须重写run()方法,该方法是新线程的入口点。它还必须调用start()方法来执行。
  尽管此方法被列为多线程实现,但它本质上是Runnable接口的一个实例。
  运行结果:
  七、Thread方法
  1、下面是Thread类的一些重要方法的列表:
  方法
  描述
  public void start()
  使该线程开始执行;Java 虚拟机调用该线程的 run 方法。
  public void run()
  如果线程是使用独立的Runnable运行对象构造的,则调用Runnable对象的run方法;否则,该方法不执行任何操作并返回。
  public final void setName(String name)
  改变线程名称,使之与参数 name 相同。
  public final void setPriority(int priority)
  更改线程的优先级。
  public final void setDaemon(boolean on)
  将该线程标记为守护线程或用户线程。
  public final void join(long millisec)
  等待该线程终止的时间最长为 millis 毫秒。
  public void interrupt()
  中断线程。
  public final boolean isAlive()
  测试线程是否处于活动状态。
  2、测试线程是否处于活动状态,Thread对象调用上述方法。以下方法是Thread类的静态方法。
  方法
  描述
  public static void yield()
  暂停当前正在执行的线程对象,并执行其他线程。
  public static void sleep(long millisec)
  将当前执行的线程休眠(暂停)指定的毫秒数,这受系统计时器和计划程序的准确性和准确性的影响。
  public static boolean holdsLock(Object x)
  当且仅当当前线程在指定的对象上保持监视器锁时,才返回 true。
  public static Thread currentThread()
  返回对当前正在执行的线程对象的引用。
  public static void dumpStack()
  将当前线程的堆栈跟踪打印至标准错误流。
  3、实例
  下面的ThreadClassDemo 程序演示了Thread类的一些方法:
  运行结果:
  八、通过 Callable 和 Future 创建线程
  1、创建Callable接口的实现类并实现call()方法,该方法将用作线程执行器并具有返回值。
  2、创建Callable实现类的实例,并使用FutureTask类包装Callable对象。FutureTask对象封装了Callable对象的call()方法的返回值。
  3、使用FutureTask对象作为Thread对象的target,创建并启动新线程。
  4、调用FutureTask对象的get()方法,获取子线程执行后的返回值。
  实例:
  九、创建线程的三种方式的对比
  1、当通过实现Runnable和Callable接口创建多个线程时,线程类只实现Runnable接口或Callable接口,还可以继承其他类。
  2、通过继承Thread类创建多线程时,易于编写,如果需要访问当前线程,则不需要使用Thread.currentThread() 方法,您可以直接使用this来获取当前线程。十、线程的几个主要概念
  在使用多线程编程时,需要了解下面的这几个概念:
  ① 线程同步
  ② 线程间通信
  ③ 线程死锁
  ④ 线程控制:挂起、停止和恢复十一、多线程的使用
  有效利用多线程的关键是理解程序是并发执行的,而不是串行执行的。例如,程序中有两个子系统需要同时执行。此时,需要多线程编程。
  通过使用多线程,我们可以编写一个非常高效的程序。但是,请注意,如果创建太多线程,程序执行的效率实际上会降低,而不是提高。
  记住,上下文切换开销也很重要,果创建的线程太多,CPU将花费比执行程序更多的时间进行上下文切换!
  以上就是关于大数据编程入门:Java多线程编程的全部内容了,希望这篇文章可以帮助到大家~

S3C6410时钟初始化voidsystemclockinit(void)intcount1000((volatileunsignedint)S3C6410OTHERSADDR)(16)sysclocks产业观察加强基础科学研究提升制造业核心竞争力来源人民网近年来,我国制造业加速向数字化网络化智能化发展。国家十四五规划和2035年远景目标纲要提出,充分发挥海量数据和丰富应用场景优势,促进数字技术与实体经济深度融合,赋能传统产00后4年不换手机,怪谁?这只能怪手机厂商啊近日,有机构报道称,目前的00后,越来越不想换手机了,甚至4年不换手机。事实上,类似的观点专业机构也证实过,比如Counterpoint之前就发过报告称,全球用户换机周期在增长,已元宇宙2022年三个大事件值得关注元宇宙有三个重要事件,将在2022年发生,你的投资组合里清楚这些吗?元宇宙一个世界性的大事件,一个又一次互联网红利的机会。。(1)在4月20日,上海市全球元宇宙论坛大会,元宇宙世界一天卖出10万台,天玑8100独显芯片IMX766,真香中端机仅2299元上个月,在两千档价位的中端市场中,诞生了两款真香手机,一款是卢伟冰发布的红米K50,大家对于这款手机也是比较熟悉了,该机和大哥K50Pro在首销当天的时候,共卖出了33万台。另外一静音设计,颜值耐看,定位亲民,绿联无线双模鼠标作为笔记本用户,日常出行办公时肯定少不了搭配一款便于携带与操作,适合办公风格的鼠标。考虑日常操作没有束缚肯定更为自然一些,而且笔记本通常都会内置蓝牙功能。所以我选择的时候就想找一款没买iPhone13的恭喜!iPhone14全面改观iPhone尽量两年来是一个大更新,相比iPhone13弥补了iPhone12得很多短板,但真正的重头戏其实是iPhone14,就照透露消息来看,没入手iPhone13得恭喜了,因腾讯控股(00700。HK)4月4日斥3。002亿港元回购77。5万股腾讯控股(00700。HK)发布公告,于2022年4月4日斥资3。002亿港元回购77。5万股,回购价格每股为384。4390港元。腾讯控股(00700。HK)公司简介腾讯控股有限互联网大厂一边裁员,一边又校招,怎么看?1淘汰。有读者问,互联网大厂都在裁员,怎么看?裁员是正常的。等校招季到了,这些公司又会招聘很多人。对于公司来说,定期淘汰一些落后的业务线,裁掉一些末端的员工,同时吸收新鲜的血液,如电商平台保供忙来源人民日报海外版为配合防疫减少出行,近期不少人把自家的菜篮子从线下的商超菜市场挪到了线上,选择在各大生鲜电商平台下单,平台订单量大幅上涨。订单激增,导致不少站点人力紧张。无论是线最后一波寒潮后,或转夏天?由于拉尼娜现象,导致春夏秋冬异常偏晚(拉尼娜现象,又称反厄尔尼诺现象,指赤道太平洋东部和中部海水大范围持续异常变冷。拉尼娜现象是热带海洋和大气共同作用的产物,海洋表层的运动主要受信
如何解决老旧小区汽车充电难题?近年来,新能源汽车技术突飞猛进,行业迅速发展,销量与日俱增,新能源汽车开始走进千家万户。随着越来越多新能源汽车正式上路,对充电的需求日益增长。现在各地都开始大力推进公共充电桩的建设莫让电动车充电桩成为摆设自高层民用建筑消防安全管理规定于8月1日正式实施后,全国多地为彻底解决电动车停放充电问题,在小区建设充电棚或安装充电桩,供居民电动车集中停放和充电。这些举措的出发点是好的,然而部分速度与激情9中主角们用的都是啥手机和电脑,这篇文章告诉你想必很多盆友都看过速度与激情9了,该片虽然口碑烂得不行,但却是今年目前为止全球票房第二高的电影,其在中国也收入了近14亿元的票房。目前在各大网站上速度与激情9的影评分析一大堆,笔者为了银白色梦想又双叒叕装了一台电脑前言不知道从何开始,浅色系主题DIY主机逐渐走入玩家们的视野,凭借清新的风格让不少年轻玩家甚至是女性为之疯狂。本人近期也受到浅色系的吸引,成为了一个中年小清新玩家。所以又双叒叕打算电竞办公全能选手罗技G913TKL三模背光机械键盘前言反观这两年的机械键盘行业,一些品牌因为产品的问题已经离我们越走越远,倒是后起之秀罗技凭借出色的工业设计创新的轴体以及稳定的品质表现赢得了市场上大量的赞誉,今天笔者就为大家介绍一搭载Ampere架构,NVIDIA新一代RTXGPU驱动新一代工作站和个人电脑搭载Ampere架构,NVIDIA新一代RTXGPU为数百万艺术家设计师工程师和虚拟桌面用户驱动新一代工作站和个人电脑NVIDIA于GTC大会上发布用于新一代笔记本电脑台式机和服务海盗船K70RGBTKL键盘开启船新电竞篇章前言说到在机械键盘领域发展速度快的品牌就不得不提海盗船,早些年凭借高度绑定Cherry,海盗船获得MXRGB轴体的独家供应,让K70系列键盘成为市面上最成功的键盘。随着时间流逝,MQHD屏幕太香了!仅售4499元的机械革命S3Pro轻薄本测试前言屏幕是电脑与用户进行交互的最核心部件,高素质的屏幕面板往往能带来更精准的色彩还原能力从而进一步提升使用体验。从最早的TN到现在主流的IPS,轻薄本的屏幕在近些年呈现跨越式的发展紧凑键盘玩出花!ROG魔导士机械键盘体验前言近年来,机械键盘市场逐渐刮起紧凑风,从100配列到80再到60甚至40都有各样的产品应用而生。40配列因为精简太多按键已经偏向极客范,办公时需要使用大量组合按键才能实现某些功能搂腰牵手,小马哥和布丽吉特公费谈恋爱!世上狗粮千千万,小马小丽最好看!围观世上狗粮千千万,小马小丽最好看。一年365天变着花样撒糖的总统,全世界只此一家。这一点不接受反驳。上任五年,法国总统小马哥成功在世人心中种下了一颗深情男人的种子。17岁时情定41岁详述北美周末票房排行榜至7月15日,黑寡妇秒杀一切文Leon本文为原创,转载请注明出处。本周北美电影市场只有黑寡妇这一棵独苗,其票房成绩也不出所料,其不仅创造了疫情以来的首映纪录,还从Disney那里收获了6000万美元的流媒体收