什么是线程
线程就是一个主机执行的应用程序任务,一般来说,一个运行中的程序至少有一个线程,这个线程负责执行程序体,Java中,这个线程称之为main线程,通过调用main()方法来执行。实际上,在一个Java程序中至少有一个以上的线程,不过很多时候我们并未意识到,比如一个普通的GUI程序,一般有一个负责展现界面的线程,一个或者多个负责监听界面事件的线程,还有一个负责在后台处理相应逻辑的线程。
使用的场景
- Non-blocking I/O,非阻塞I/O
- I/O复用,通过事件监听的机制,当某个资源可用的时候,通知相应的线程执行操作,其他时候,线程处于休眠状态。
- Polling,按照一定的频率轮询相应的资源,当资源为可用的时候执行,否则sleep一段时间后重复此过程。
- Signals,在资源上加上标识,当资源可用时,发出一个异步的信号,这个信号将将打断当前程序的运行而调用相应的线程,当线程执行完毕后,重新回到先前被打断的程序,执行剩下的操作。Java现在不支持这种操作。
- Alarm and Timers
- Independent task
- Parallelizable Algorithm
创建一个线程
可以通过继承Thread类或者是实现Runnable接口创建一个线程。
线程的生命周期:
- Creating ,这里只是单存的通过 new 关键字创建一个线程的实例,其他的类可以访问到当前线程的公开的属性值或者是方法,但是现在线程还处于非运行状态
- Running,通过调用相应的Start()方法,让当前的线程run起来,这个时候可以调用isAlive()测试线程是否run起来了
- Terminating,线程被终止,线程实例被销毁。
分享到:
相关推荐
Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...
java线程学习笔记
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....
尚硅谷康师傅java学习笔记。 、2020-4-5 java学习笔记 2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 ...
java学习笔记2(多线程)java学习笔记2(多线程)
多线程学习笔记,通过平时的学习所做的一些笔记,希望对广大同仁有所帮助
NULL 博文链接:https://baobeituping.iteye.com/blog/1190260
java从入门到精通学习笔记-Lesson5(多线程).pdf
java学习笔记大全:java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java...
《Java高级复习笔记-程序阅读题.docx》是一份宝贵的学习资源,特别适合那些希望深入理解和掌握Java高级编程概念的学习者和开发者。以下是对这个资源的详细描述: 深度理解编程概念:这份文档提供了一系列程序阅读...
花费了一上午的时候 写了一些demo。认识到四种线程池的区别。上传到csdn 供以后学习
多线程学习笔记,好资源。包括线程基础等知识多线程学习笔记,好资源。包括线程基础等知识
线程安全就是对共享的、可变的状态进行管理,对象的状态就是它的数据,换句话说就是在不可控制的并发访问中保护数据。
这篇文档和对应的源代码 博文链接:https://interper56-sohu-com.iteye.com/blog/172303
java学习笔记5(java多线程)java学习笔记5(java多线程)
Java并发编程学习笔记,研究JAVA并发多线程编程的一本教程,使用并发技术可以开发出并行算法,充分利用多处理器的计算能力,避免硬件资源浪费。目前,在JAVA并发编程方面的论述系统且内容详实的技术资料不太多,Java...
所谓任务就是抽象、离散的工作单元。把一个应用程序的工作分离到任务中,可以简化程序 的管理,这种分离还在不同事务间划分了自然的分界线,在程序出现错误时可以很方便地进行恢复,还有利于提高程序的并发性。...