摘要:
使用Lock和Condition接口的await(),signal(),signalAll(): private final Lock lock = new ReentrantLock();创建锁 private Condition = Lock . newCondition();创建接口 lock 阅读全文
摘要:
Object类中的wait和notify方法。(生产者和消费者模式!) 1、wait和notify方法不是线程对象的方法,是java中任何一个java对象都有的方法,因为这两个方式是Object类中自带的。 2、wait方法和notify方法不是通过线程对象调用, 3、不是这样的:t.wait(), 阅读全文
摘要:
实现线程的第三种方式: JUC包下的,属于java的并发包,老JDK中没有这个包。新特性。 实现Callable接口 这种方式的优点:可以获取到线程的执行结果。 这种方法,get()方法上有异常,要抛异常; 这种方式的缺点:效率比较低,在获取t线程执行结果的时候,当前线程受阻塞,效率较低。 impo 阅读全文
摘要:
定时器: 间隔特定的时间,执行特定的程序。 每周要进行银行账户的总账操作。每天要进行数据的备份操作。 在实际的开发中,每隔多久执行一段特定的程序,这种需求是很常见的, 在实际的开发中,目前使用较多的是Spring框架中提供的SpringTask框架, 这个框架只要进行简单的配置,就可以完成定时器的任 阅读全文
摘要:
守护线程:java语言中线程分为两大类: 1、用户线程:主线程main方法是一个用户线程。 2、守护线程(后台线程)其中具有代表性的就是:垃圾回收线程(守护线程)。 t.setDaemom(); 3、守护线程的特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束。 守护线程用在什 阅读全文
摘要:
线程优先级: 1、线程优先级默认为5 最低为1--最高为10 2、线程优先级高,只是抢到cpu的时间片多一些;大概率会偏向 3、设置线程优先级: Thread.currentThread().setPriority(1); public class Demo { public static void 阅读全文
摘要:
/* 银行账户 使用线程同步机制,解决线程安全问题。 */ public class Account { // 账号 private String actno; // 余额 private double balance; //实例变量。 //对象 Object obj = new Object(); 阅读全文
摘要:
常用方法: 1、获取当前线程对象: Thread name= Thread.currentThread().getName(); 返回值name就是当前线程。 2、获取线程对象的名字:String name = 线程对象.getName(); 3、设置线程对象的名字: 线程对象.setName("线 阅读全文
摘要:
1、进程: 进程是一个应用程序(1个进程是一个软件)。 进程可以看做是现实生活当中的公司。 一个进程可以启动多个线程。 进程之间的内存独立不共享; 2、线程: 线程是一个进程中的执行场景/执行单元。 线程可以看做是公司当中的某个员工。 java中多线程机制,目的就是为了提高程序的处理效率。 java 阅读全文
摘要:
多线程并发环境下,数据的安全发生的条件? 三个条件:1:多线程并发。2:有共享数据。3:共享数据有修改的行为。满足以上3个条件之后,就会存在线程安全问题。 在开发中项目都是运行在服务器当中,而服务器已经将线程的定义,线程对象的创建,线程的启动等,都已经实现完了。这些代码都不需要编写。 最重要的是:编 阅读全文
摘要:
java实现线程方式 第一种方式:继承 extends Thread; 实现线程的第一种方式:编写一个类,直接继承java.lang.Thread,重写run方法。 创建线程对象:new就行了; 启动线程: 调用线程对象的start()方法。作用是:启动一个分支线程,在JVM中开辟一个新的栈空间 这 阅读全文