线程
线程相关知识
Hercule2016
这个作者很懒,什么都没留下…
展开
-
线程池
如果只是单纯的使用线程,一定会涉及到创建线程对象和调用start开启线程,线程死亡后,该线程就没有用了。如果涉及到很多线程使用,就需要频繁的大量的创建线程,线程使用完以后这些线程都会死亡。不能重复利用。 为了解决以上问题,java提供了一个线程池的概念,在使用线程池的时候,我们把任务提交给线程池,而不是线程。线程池会给我们创建线程执行任务。线程池首先会去检查线程池中是否有空闲的线程,如果有则直接将任务交给空闲的线程处理,如果没有则创建新的线程去处理该任务。当线程执行完任务后,线程池会将该线程回收,以便于继续原创 2020-05-25 20:12:47 · 144 阅读 · 0 评论 -
线程通知和等待
对于线程的通知和等待主要用到了notifyAll(),notify()和wait()等: 现在提出一个需求,两个线程一个从1a输出到1000a,而另一个从1b输出到1000b两个线程交替输出也就是顺序为:1a 1b 2a 2b…以此类推。 这时候就用到了通知和等待的知识。 这里我们先写一个线程类: package mythread; /** * @author Hercules * @version 创建时间:2020年5月25日 下午4:47:08 * 类说明 */ public class原创 2020-05-25 17:28:53 · 238 阅读 · 0 评论 -
线程同步
多线程编程是有趣的事情,它很容易出现错误的情况。这就是我在前面谈到关于线程安全的时候所说的火车票的例子。 这次我们来谈一个银行的例子: 步骤如下: 1、用户输入账户,密码,系统判断用户的账户,密码是否匹配。 2、用户输入取款余额。 3、系统判断账户余额是否大于取款金额。 4、如果余额大于取款金额,则取款成功;如果余额小于取款余额,则取款失败。 乍一看,这个流程确实就是我们在日常生活中取款的流程,这...原创 2020-05-25 15:58:30 · 210 阅读 · 0 评论 -
线程的常用方法
守护线程 守护线程,也叫后台线程; 默认情况下:当主线程执行完成以后,如果还有其他的线程时,程序并不会结束,直到其他的线程也执行完成,程序才会结束。但是,如果其他线程为守护线程,则不影响; 主线程执行完成后,还有守护线程存在,则程序直接结束。 垃圾回收(是一个线程)就是一个守护线程 代码如下: Thread thread = new Thread(myRunnable); //设置线程为守护线程 ...原创 2020-02-18 09:37:22 · 147 阅读 · 0 评论 -
线程的实现方式以及生命周期
先给一道面试题,线程有几种实现方式? 基本上自己学过java的人可能都会说两种,但是其实线程有三种实现方式,不过有一种用的比较少而已。我们先把这三种给出来。 1、继承Thread类 2、实现Runnable接口 3、实现Callable接口 接下来我们分别编写一下代码: 1、继承Thread类 /** * @author Hercules * @version 创建时间:2020年2月14日...原创 2020-02-14 10:14:14 · 205 阅读 · 0 评论 -
线程(Thread)
为什么需要线程 我们先不谈程序什么的,先谈一下盖房子,我们盖房子是一个人做得快还是十个人做的快呢?可能正常人都知道那肯定十个人盖的快。换到程序中也是一样的我前面所编写的程序都是一条线下来的也就是前面的代码没运行完后面的是不能运行的。既然这样,我们就可以把前面的程序看成一个人做事,那么效率肯定就比较低。 那么线程就是: 当处理的任务过于庞大的时候,一个线程已经没有办法支持处理,需要多线程支持。 那么...原创 2020-02-14 09:30:07 · 176 阅读 · 0 评论