进程是指运行中的应用程序,每一个进程都有自己的独立内存空间,线程是指进程中能够独立执行的控制流。
线程的创建主要有两种方法,一个是继承
Thread类,重写run方法;另一个是继承
Runnable接口,实现run接口。实现Runnable接口的对象代表的是一个计算任务,这个任务可以交由其他线程(如线程池的线程)来执行。因此,Runnable对应要完成的任务,Thread对应任务的执行者。
线程的生命周期中有四种状态:
新建、就绪、阻塞、死亡。其中就绪状态是调用了start()方法后的状态,在这个状态中的任意时刻线程可以运行也可以不运行,只要调度器把时间片分配给线程,线程就可以运行,java不区分就绪和运行状态。
线程的同步方法有几种,其中比较常用的是
synchronized关键字和
同步锁lock的实现类,synchronized是自动获取锁和释放锁的,lock是手动。对于一些线程不安全的类,有些是有线程安全的实现的,例如容器类和基本类型都有,这些会在以后《java 并发编程实践》中详细说到的。
线程的调度方法也有几种:
sleep()方法,线程在一定的时间内进入阻塞状态,期间由监视器来监视,到时间会唤醒线程,此方法不区分优先级,不会释放锁;
yield()方法,不确保一定进入阻塞状态,有可能调用了这个方法后这个线程还在运行。另外它只会给优先级等于或者大于自身的线程有机会获取运行机会。
wait()方法和notify、notifyAll方法一起用在同步方法中,也只有在同步方法中才有效。调用wait方法的线程会释放锁,并进入等待队列,notify方法会随机唤醒一个在等待队列中的线程,notifyAll方法会唤醒所有等待队列中的线程。 也可以设置线程的优先级,
优先级有1~10级,有3个静态常量表示1、5、10级,主线程和由主线程创建的线程默认是5级。最后,一个线程可以在其他线程上调用join()方法,则当前运行的线程将被挂起,直到目标线程运行结束,它才恢复运行。
线程也分为
守护线程(后台线程,如垃圾收集)和非守护线程,主线程和由主线程创建的线程默认是非守护线程,当所有非守护线程运行结束,不管守护线程是否都结束都要退出程序。
分享到:
相关推荐
本文将深入探讨并发控制的概念,以及其在数据库系统中的具体实施策略,通过分析《第十一章 并发控制》的内容,我们将了解到事务执行的不同方式、并发控制机制、事务并发执行可能引发的问题及其解决方案。 ### 并发...
在数据库第四版答案(王珊萨师煊)第11章并发控制中,主要讨论了并发控制的原因、并发操作可能产生的问题及解决方案,以及封锁机制等核心概念。 并发控制的必要性在于数据库作为共享资源,常常有多事务同时运行。当...
第十一章 并发控制是数据库系统中至关重要的一部分,它主要关注如何在多用户环境中确保数据的正确性和一致性。在并发控制中,我们探讨的是如何处理多个事务在同一时刻访问数据库时可能出现的问题。并发控制的目的是...
数据库系统概论第十一章并发控制PPT学习教案.pptx
数据库系统概论:第11章 并发控制.ppt
并发控制是数据库管理系统中的一项重要机制,其任务是对并发操作进行正确调度,保证事务的隔离性和数据库的一致性。事务是并发控制的基本单位。并发控制机制的目标是确保多个事务的并发执行不影响数据库的一致性和...
数据库并发控制是数据库管理系统(DBMS)中一项重要的功能,旨在合理地管理多个事务对共享数据的并行操作,以确保数据的完整性和一致性。并发控制在多用户数据库系统中尤为重要,因为它能够避免数据的不一致性问题,...
数据库系统概论中,第十一章重点探讨了并发控制这一关键概念。并发控制是为了确保在多用户环境下,多个事务同时访问数据库时不会破坏数据的一致性和完整性。在数据库系统中,尤其是在多用户共享的环境中,如飞机定票...
DBMS必须提供并发控制机制,并发控制机制是衡量一个DBMS性能的重要标志之一。 并发控制概述 并发控制机制的任务是对并发操作进行正确调度,保证事务的隔离性和数据库的一致性。并发控制机制可以避免数据不一致性、...
本章主要介绍了并发控制的基本概念、问题以及解决方案,特别是通过封锁技术来避免并发操作带来的数据不一致性。 并发控制机制是为了应对数据库作为共享资源时,多个用户或事务并行访问可能导致的问题。当多个事务...
本章主要探讨并发控制的原理与方法,确保数据库在并发执行事务时不会出现数据不一致的问题。 并发控制的主要目的是解决多事务并行执行过程中可能出现的问题,如丢失修改、不可重复读和读“脏”数据等。这些问题都是...
第11章“并发控制”主要探讨了如何在多个事务并发执行时确保数据的一致性和完整性。以下是本章中涉及的关键知识点: 1. **并发控制的必要性**: - 数据库作为共享资源,常有多个事务同时运行。 - 并发操作可能...
第11章高并发之扩容思路 第12章高并发之缓存思路 第13章高并发之消息队列思路 第14章高并发之应用拆分思路 第15章高并发之应用限流思路 第16章高并发之服务降级与服务熔断思路8 第17章高并发之数据库切库分库分表...
数据库系统概论课件,新版,分为基础篇,设计应用开发篇,系统篇,中国人民大学...第十一章 并发控制 * 第十二章 数据库管理系统 第一至第十一章是本科专业的基本教程(书中有*号的部分除外) 第十二至第十七章是高级教程
数据库系统概论第十一章并发控制 本章节主要介绍了数据库系统中的并发控制机制,讨论了并发操作带来的问题,包括丢失修改、不可重复读和读“脏”数据等。同时,介绍了并发控制机制的任务,包括对并发操作进行正确...
Java并发编程实战,第1章 简介,第...第10章 避免活跃性危险 第11章 性能与可伸缩性 第12章 并发程序的测试 第13章 显式锁 第14章 构建自定义的同步工具 第15章 原子变量与非阻塞同步机制 第16章 Java内存模型
数据库系统原理 - 课件 第11章-并发控制
《数据库系统概论》第11章主要探讨的是并发控制这一关键主题,它在多用户数据库系统中至关重要,因为这样的系统允许多个用户或事务同时访问和操作数据。并发控制的目标是确保在多用户环境中,数据的完整性、一致性和...