计算机中一个运行的程序称为一个进程 每一个进程有不同的内存块
一个进程中分多个线程: 多个线程使用同一块内存
创建多线程,可以使程序块并行执行。
创建多线程的方法有:
1、继承 Thread() 类
2、实现Runnable 接口
此种方法,需要创建一个Thread类对象,将Runnable 的实例作为创建Thread的构造器参数传递进去 。
两种方式 都是调用Thread类中的run()方法来启动线程,所以两种方法都要重写Thread中的Run() 方法。
需要在线程中执行的代码就放在run()方法中。
为了避免Java中单继承的现象,我们一般采用实现Runnable接口的方法创建线程。
线程的生命周期分为:
1、新建状态
2、就绪状态 调用star()方法后,分配空间等
3、运行状态 就绪后调用run()方法
4、阻塞状态 有些原因造成终断
4.1 优先级不够,没有抢到CPU
4.2 使用sleep()方法使线程休眠
4.3 线程由于I/O操作而被阻塞
4.4 调用wait()方法,线程进入等待
4.5 调用yield()方法,线程出 让CPU(些方法是将线程强制挂起)
5、死亡状态 run()方法结束,进入死亡状态
优先级高的线程有较高的机率被CPU青睐
针对使用同一块资源时就需要用到线程同步:
线程同步使用 synchronized 关键字
分享到:
相关推荐
E05_多线程复习.pdf
此资源有利于初学者巩固C#多线程的基础知识,内有80道练习题及答案。
Java多线程复习笔记,包括线程创建,关键字讲解,线程池等等。
多线程、JVM复习及面试100题 多线程、JVM复习及面试100题 多线程、JVM复习及面试100题 多线程、JVM复习及面试100题
C# WinForm多线程开发复习进程.pdf
适合复习多线程
多线程、JVM复习&面试&强化训练100题,面试更有信心,面试不再发愁。多线程、JVM复习&面试&强化训练100题,面试更有信心,面试不再发愁。
01大数据面试复习----Java基础---集合类、多线程、JVM.zip
计算机后端-Java-Java核心基础-第20章 多线程 02. 复习:IDEA使用与多线程基本概念.avi
此次实训不同,在些之前我作了一些准备,对多线程复习了好几编,实训果然派上用场。 通过这次JAVA飞机游戏实训,我对JAVA有了更深刻的认识, 对面向对象,和游戏中必然用到的多线程有了更深理解。实训中,我觉得最...
429.427.JAVA基础教程_多线程-复习:线程的创建与常用方法(429).rar
在虚拟机上用消息队列实现对话(双线程收发),即A<->B; 同时又可以复习多线程和信号捕捉
内容概要:最新2023年Java高并发多线程后端面试题整理, 包含线程池,并发集合,volatile,CountDownLatch,Semaphore,Phaser,AQS,ReentrantLock,ReentrantLock等等问题, 用简洁明了的语言,通俗易懂地阐述了高...
深入了解Java多线程,对Java的复习有了一定的提供基础
java多线程编程总结,超级细致与权威,我看过的最好的理解多线程知识点的复习资料
计算机后端-Java-Java核心基础-第20章 多线程 03. 复习:线程的创建与常用方法.avi
1.委托与多线程2.线程池 Socket 3.聊天程序 模拟IIS 4.一般处理程序 11.异步无刷新分页复习+服务器端控件
多线程生产者与消费者,,生产者和消费者的解答网络上有多种线程版本,但却没看到进程版本,所以我就来填补这一“空白”了。PS:使用进程版本的另一个重要原因是,想顺便复习下共享内存。 我们使用信号量来同步,用...
学jav到最后简单的学习汇总 多线程 流 的复习
Java应用程序设计之多线程和泛型 Thread、Runnable、Callable 线程操作:isAlive()、isInterrupted()、join()、sleep()、stop()、interrupted()、setDaemon()、setPriority()、yield() 同步与死锁、Object类对线程的...