java基础之常见API——线程

本文介绍了Java中的线程基础知识,包括线程的创建、任务定义、返回值处理、线程状态以及线程同步。通过Runnable接口和Callable接口实现任务,使用submit()获取Future对象来获取任务结果。此外,还探讨了线程的五种状态,线程方法如getName(), setPriority(), join()等的使用,并强调了死锁的概念和预防策略。" 43762051,2094749,ABAP获取随机数技巧,"['ABAP开发', 'SAP编程', '随机数生成']
摘要由CSDN通过智能技术生成

以前我们所接触的都是关于顺序编程的知识。即程序中的所有事物在任意时刻都只能执行一个步骤。然而,对于某些问题,如果能够同时的执行程序中的多个部分,则会变得非常方便甚至非常必要,因为这些部分要么看起来在同时执行,要么在多处理器环境下可以同时执行。

基本的线程机制:

线程可以让我们将程序划分为多个分离的、独立运行的任务。通过使用多线程机制,这些独立任务(也被称为子任务)中的每一个都将由执行线程来驱动。一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以拥有多个同时执行任务,但是你的程序使得每个任务都好像有自己的CPU一样。其底层机制是切分CPU时间,但通常你不需要考虑它。
线程模型为编程带来了便利,它简化了在单一程序中同时交织在一个的多个操作的处理。在使用线程时,CPU将轮流给每个任务分配其占用时间。每个任务都觉得自己在一直占用CPU,但事实上CPU时间是划分成片段分配给了所有任务。


定义任务:

线程可以驱动任务,因此你需要一种描述任务的方式,这可以用Runnable接口来提供。要想定义任务,只需实现Runnable接口并编写run()方法,使得该任务可以执行你的命令。
任务的run()方法通常会使用死循环的方法使得任务一直运行下去知道不再需要,所以需要设定跳出循环的条件。
在run()中对静态方法Thread.yield()的调用是对线程调度器的一种建议,即可以将CPU从一个线程转移给另一个线程。
当从Runnable导出一个类时,它必须具有run()方法,但是这个方法并无特殊之处——它不会产生任何内在的线程能力。调用Tread对象的start()方法为该线程执行必须的初始化操作,然

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值