使用注解实现异步 RunnableDemo类 测试类 运行结果分析: run方法打印的内容是异步进行的,是独立于主线程外的线程,所以 end 打印后,run方法依然再进行打印 几种装配方式 1.普通的方式 使用@Import装配的第一种方式 使用@Import装配 第二种方式 实例演示:注解注册监控 ...
分类:
编程语言 时间:
2018-10-18 00:58:10
阅读次数:
165
问题导入:如果一个线程调用了一个对象的同步方法,那么他还能不能在调用这个对象的另外一个同步方法呢? 这里就是synchronized锁重入问题。 一.synchronized锁重入 来看下面的代码: .这个是三个同步方法的类 线程类,在run方法中调用一号同步方法: 结果如下: 总结:可以看出一个线 ...
分类:
编程语言 时间:
2018-10-17 12:13:53
阅读次数:
223
一.进程和线程的区别: 进程:当前计算机正在运行的程序,进程是cpu分配资源的基本单位,一个进程至少有一个线程。 线程: 计算机中任务调度和最小的执行单元,一个线程也被称为轻量级进程。 Java多线程:在单个程序运作的过程中同时运作多个线程,完成不同的工作,称为多线程。 引入线程的好处:Java虚拟 ...
分类:
编程语言 时间:
2018-10-16 01:42:46
阅读次数:
219
1、实现一个类MyThread继承Thread并重写run()方法启动线程方法:实例化MyThread对象,并调用start()方法多个线程之间交替执行(抢时间片)主线程(main方法)有优先运行的权限,但并不绝对 2、实现一个类MyThread实现Runnable接口下的run()方法启动线程方法 ...
分类:
编程语言 时间:
2018-10-15 20:47:53
阅读次数:
174
java开启多线程的方式,第一种是新建一个Thread的子类,然后重写它的run()方法就可以,调用类的对象的start()方法,jvm就会新开一个线程执行run()方法. 第二种是类实现Runable接口,然后重写run()方法,把这个类的对象当做参数传递给线程的构造函数.如 new Thread ...
分类:
编程语言 时间:
2018-10-14 13:59:37
阅读次数:
143
一.currentThread()方法 currentThread方法就是返回当前被调用的线程。 该方法为一个本地方法,原码如下: 可以看出他返回的是一个线程对象。 下面来看一个列子: 结果如下: 除了run方法是在一个被自动取名为Thread-0的线程中其他的两个都在main方法中。 但是我们不使 ...
分类:
编程语言 时间:
2018-10-13 16:48:36
阅读次数:
141
上篇文章讲述了创建线程的常用方式 本篇主要分析一下Thread和Runnable两种方式创建线程的区别及联系 ?Thread类实现了Runable接口。 ?都需要重写里面Run方法。 ?Thread方式不支持多继承,Runnable方式支持多个实现 ?Runnable更容易实现资源共享,能多个线程同 ...
分类:
编程语言 时间:
2018-10-13 12:53:05
阅读次数:
135
start()和run是Thread类里面的两个方法。 学过的都知道,我们创建了一个线程类,通过调用start()方法来启动线程,并且该线程会执行内部的run()方法,那么我们可以直接调用run()方法吗。 答案显而易见,当然是可以啊,可是前后两者还是有本质的区别的。 start()和run() 调 ...
分类:
编程语言 时间:
2018-10-12 17:51:31
阅读次数:
163
1.创建线程方法 (1)继承Thread类 (2)实现Runnable接口 至于哪个好,不用说肯定是后者好,因为实现接口的方式比继承类的方式更灵活,也能减少程序之间的耦合度,面向接口编程也是设计模式6大原则的核心。 2.start()方法和run()方法的区别 只有调用了start()方法,才会表现 ...
分类:
编程语言 时间:
2018-10-08 19:37:39
阅读次数:
138
并发编程之多线程基础 线程与进程区别 进程是所有线程的集合,每一个线程是进程中的一条执行路径。 多线程创建方式 1.继承Thread类 重写run方法 代码: class CreateThread extends Thread { // run方法中编写 多线程需要执行的代码 public void ...
分类:
其他好文 时间:
2018-10-08 00:52:20
阅读次数:
177