这几天对线程进行了一定的学习和了解,下面对线程的一些基本知识进行一下总结
一.线程的创建
1. 继承Thread类
public Class MyThread extendws Thread{ public void run(){ //线程体 } }
2.实现Runnable接口
public MyThread implements Runnable{ public void run(){ //线程体 } }
3.创建内部类线程
new Thread(){ public void run(){ //线程体 } }.start()
二.线程生命周期
线程生命周期的五种状态:创建线程--就绪--运行--阻塞--消亡
具体转换如下图:
三.线程同步
线程同步是为了防止多线程对同以数据访问时对数据造成破坏
举例说明:
假如我的银行账户里有5000元钱。我有存折和银行卡两种取钱工具。在同一时候两人分别拿着这两种工具去银行取同一账户的钱。如果不实行线程同步,则可能取出10000元。线程同步就是当银行卡在取钱时,存折就不能取,存折取时银行卡就不能取。
实现线程同步常用的方法是加同步锁:
synochored(){//同步块}
synochored(obj){//代码}
四.线程池
我们知道在计算机中往往是很多个线程在运行,然而每创建一个线程都要消耗一定资源的,如果我们每执行一个任务就创建一线程的话必然会占用很多内存,当达到一定限度时我们的CUP就会崩溃的。因此我们会用到线程池。
线程池相当于一个存放线程的容器,当线程池里存在空闲线程时,启动线程执行任务。否则就等待。这样就可以用有限的线程执行更多的任务,大大减少了资源开销。
五.线程常用方法
CurrenThread() //获取当前线程对象名
sleep(long n) //线程休眠n毫秒
getName() //获取线程名
inturrept() //中断线程
destroy() //终止线程 (一般run()方法执行完后线程消亡)
相关推荐
Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 ...Java线程:大总结
Java多线程是Java编程语言中一个非常重要的概念,它允许开发者在一个程序中创建多个执行线程并行运行,以提高程序的执行效率和响应速度。在Java中,线程的生命周期包含五个基本状态,分别是新建状态(New)、就绪...
Java多线程是Java编程语言中的一个重要特性,它允许开发者创建并发执行的多个线程,从而提高程序的执行效率和响应速度。Java中实现多线程主要有两种方式:继承Thread类和实现Runnable接口。 ### 继承Thread类 在...
#### 一、Java线程:概念与原理 - **操作系统中线程和进程的概念** 当前的操作系统通常都是多任务操作系统,多线程是一种实现多任务的方式之一。在操作系统层面,进程指的是内存中运行的应用程序,每个进程拥有...
总结来说,`java-websocket` jar包为Java和Android开发者提供了实现WebSocket通信的简单途径,`WebSocketUtils.java`工具类进一步简化了这个过程。通过理解和使用这个库,开发者可以轻松构建实时通信的应用,如在线...
总结来说,MySQL Connector/J 5.1.37是Java开发者与MySQL数据库交互的桥梁,它的使用涉及JDBC规范、数据库连接管理、SQL执行和结果处理等多个方面。同时,源码分析提供了学习数据库驱动开发和提高数据库操作效率的...
总结来说,IBM的jca436和jca461工具是Java开发和运维不可或缺的利器,它们通过与`jps` 和 `jmap` 配合,提供了全面的线程堆栈分析能力,有助于我们优化应用性能,诊断并修复线程相关问题。通过学习和熟练掌握这些...
二、线程安全问题分类总结 (1)局部变量不能共享 局部变量是每个线程独有的,不可以被其他线程访问和修改。 (2)不同对象的实例变量不共享 不同对象的实例变量不能被其他对象访问和修改,每个对象都有自己的...
【JAVA多线程总结】 Java 多线程是Java编程中的关键特性,它允许程序同时执行多个任务,提高系统的效率和响应性。本篇总结涵盖了Java多线程的基础概念、创建与启动、线程调度、同步与协作以及新特性。 **一、Java...
总结来说,`wait()`和`sleep()`虽然都可以使线程暂停执行,但它们的目的和适用场景不同。`wait()`更多用于线程间的通信和协作,而`sleep()`则用于简单的延时控制。在实际开发中,根据具体需求选择合适的方法是非常...
Java多线程是Java编程中的一个核心概念,它在现代软件开发中扮演着至关重要的角色。多线程允许程序同时执行多个任务,提高了系统资源的利用率,提升了应用程序的响应速度和并发性能。对于大型分布式系统、Web应用...
Java线程调度包括线程的休眠、优先级、让步、合并和守护线程等策略。线程优先级可以调整线程执行的相对顺序,但不保证绝对的执行顺序。守护线程是一种服务线程,当所有非守护线程结束时,JVM会退出,即使仍有守护...
Java线程有10个优先级,`MIN_PRIORITY`(1),`NORM_PRIORITY`(5)和`MAX_PRIORITY`(10)。较高的优先级并不意味着线程一定先执行,而是增加了获取CPU资源的概率。 5. **守护线程(Daemon)** 守护线程是支持...
以下是对Java线程安全的深入总结: ### 一、线程安全的定义 线程安全是指当多个线程访问同一块代码时,如果每个线程都能得到预期的结果,且不产生数据不一致或同步问题,那么这块代码就被称为线程安全的。Java中的...
### JAVA-基础多线程 #### 一、线程概念 1. **线程定义**: - 线程是程序执行时的一条路径,是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。 - 一个线程指的是进程中一个...
### Java多线程知识点总结及企业真题解析 #### 一、知识点总结 ##### (1)多线程相关概念 1. **程序、进程和线程的区分**: - **程序**:为了完成特定的任务而编写的指令集合。它是静态的概念。 - **进程**:...
### Java私塾面试题解析 —— 线程与EJB部分...以上内容总结了Java私塾面试题中关于线程和EJB的部分,涵盖了线程的基础概念、实现方式、控制方法以及相关的高级特性,希望能帮助读者更好地理解并掌握Java中的线程编程。
在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...
### Java多线程分页查询知识点详解 #### 一、背景与需求分析 在实际的软件开发过程中,尤其是在处理大量数据时,如何高效地进行数据查询成为了一个关键问题。例如,在一个用户众多的社交平台上,当用户需要查看...