自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 并发操作的数据安全问题

多线程运行环境下肯定存在并发,会存在一个对象被多个线程同时操作(对同一数据的存取)的情况,这样如果不加以控制,很容易存在数据安全问题。下面以一个银行转账的例子来说明并发可能存在的问题:模拟账户–Account类:public class Account { private String name;//名字 private double money;//余额 //构造方法 publ...

2018-11-26 20:26:53 774

原创 线程优先级和守护线程

线程优先级每个线程都有各自的优先级,线程的优先级可以表明在程序中该线程的重要性,如果有很多线程处于就绪状态,系统则会根据优先级来决定首先使哪个线程进入运行状态。但是这并不是意味着低优先级的线程得不到运行,而只是它运行的几率比较小,而高优先级的线程的运行几率比较高。Thread类中包含的静态变量代表了线程的某些优先级,其中MIN_PRIORITY表示最低优先级1,NORM_PRIORITY表示中...

2018-11-25 15:43:02 323 1

原创 线程的中断

我们都知道线程被终止一般有两个原因:一是run()方法正常执行完毕而自然死亡;二是因为一个没有捕获的异常终止了run方法而异外死亡。当一个线程在正常执行完毕之前被中断是一件很可怕的事情,会出现很多意想不到的事情,比如不能归还锁而造成死锁现象,stop()方法和destroy()方法就是因此而被废弃的。在前一篇博客中,我们尝试了利用一些变量以指示目标线程应该停止运行来达到线程终止的目的。在Jav...

2018-11-23 17:06:42 1056

原创 操作线程的基本方法

操作线程有很多种方法,这些方法可以使线程从某一种状态过度到另一种状态。sleep()–线程休眠sleep()方法是Thread类中的一个静态方法,需要一个用于指定该线程休眠的时间,该时间以毫秒为单位。在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。例如:public class Test { static class MyThre...

2018-11-22 17:35:12 342

原创 线程的状态

线程具有生命周期,线程的生命周期中包含不同的状态,在操作系统中,线程至少有五个基本状态,分别是:新生状态、就绪状态、运行状态、阻塞状态和死亡状态。Java中线程的状态在Thread类中有一个枚举类型,其中定义了线程的不同状态。分别是NEW(新生状态)、RUNNABLE(可运行状态)、BLOCKED(被阻塞状态)、WAITING(等待状态)、TIMED_WAITING(计时等待)和TERMIN...

2018-11-15 14:47:28 1178 2

原创 线程的三种实现方式

Java中线程的实现有三种方式,分别是继承Thread类、实现Runnable接口和实现Callable接口。继承Thread类Thread类是Java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新的线程需要建立Thread类的实例。Thread类中两个常用的构造方法是:public Thread()//创建一个新的线程对象Public Thread(Strin...

2018-11-13 16:08:17 5741

原创 多线程的基本概念

随着计算机系统性能的不断提升,出于多任务的需求和提高资源利用率的原因,需要计算机同时执行多个程序,进一步催生了操作系统中的进程管理,以及多线程的概念。程序程序是描述计算机所要完成的具有独立功能的,并且在时间上按严格次序前后相继的计算机操作序列集合,是一个静态的概念。它体现了编程人员要求计算机完成相应功能时所应采取的顺序步骤。程序的顺序执行、并发执行和并行执行?我们以一个例子来讲解这个问题...

2018-11-11 15:32:12 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除