
IDEA的使用与多线程
程序、线程、进程
elk-zhang
Elk lost
展开
-
使用线程池的好处
一、背景经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大二、思路提前创建好多个线程。放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁的创建...原创 2021-11-25 20:42:54 · 277 阅读 · 0 评论 -
六、实现Callable接口(JDK5.0新增线程创建方式)
一、与Runnable相比,Callable功能更强大相比于run()方法,call()方法可以有返回值 方法可以抛出异常,被外面的操作捕获,获取异常的信息 支持泛型的返回值 需要借助Future Task类,比如获取返回结果二、Future接口可以对具体Runnable、Callable任务的执行结果进行取消、查询是否完成、获取结果等 FutureTask接口是Future接口唯一的实现类 FutureTask同时实现了Runnable、Callable接口。它既可以作Runna原创 2021-11-25 19:59:09 · 289 阅读 · 0 评论 -
面试题:sleep()和wait()的异同
声明位置不同调用的范围不同关于是否释放同步监视器原创 2021-11-23 21:52:56 · 133 阅读 · 0 评论 -
五、线程的通信
目录例题:使用两个线程打印1~100。线程1、2交替打印涉及到的三个方法代码说明例题:使用两个线程打印1~100。线程1、2交替打印涉及到的三个方法wait():一旦执行此方法,当前线程就会进入阻塞状态,并释放同步监视器 notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个 notifyAll():一旦执行此方法,就会唤醒所有被wait的线程。代码class Number implements Runnab原创 2021-11-23 21:44:58 · 205 阅读 · 0 评论 -
线程同步(练习题)
目录一、分析:1.是否是多线程问题?2.是否有共享数据3.有线程安全问题嘛?4.需要考虑如何解决线程安全问题?二、代码实现一、分析:1.是否是多线程问题?是,两个储户线程2.是否有共享数据有,账户(或账户余额)3.有线程安全问题嘛?有4.需要考虑如何解决线程安全问题?同步机制 --- > 3种方式二、代码实现class Account{ private double balance; public...原创 2021-11-23 20:26:09 · 240 阅读 · 0 评论 -
Lock(锁)
ReentrantLocksynchronized和Lock的异同?原创 2021-11-23 20:01:43 · 135 阅读 · 0 评论 -
线程的死锁问题
一、死锁不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续二、解决方法专门的算法、原则 尽量减少同步资源的定义 尽量避免嵌套同步三、说明我们使用同步时,要避免出现死锁。/** 演示线程的死锁问题:*** */public class ThreadTest { public static void main(String[] args)原创 2021-11-23 17:03:35 · 128 阅读 · 0 评论 -
四、线程的同步
目录一、问题的提出二、解决方式同步机制方式一:同步代码块方式二:同步方法一、问题的提出多个线程执行的不确定性引起执行结果的不稳定 多个线程对数据的共享,会造成操作的不完整性,会破坏数据二、解决方式当一个线程A在操作时,其他线程不能参与进来,直到线程A操作完成之后,其他线程才可以开始操作。这种情况,即使线程A出现了阻塞,也不能被改变同步机制在Java中,我们通过同步机制,来解决线程安全的问题方式一:同步代码块synchronized (同步监视器..原创 2021-11-04 22:47:43 · 98 阅读 · 0 评论 -
三、线程的生命周期
关系图:原创 2021-11-04 21:43:41 · 87 阅读 · 0 评论 -
二、线程的创建和使用
一、java.lang.ThreadJava语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现二、Thread类的特性每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体 通过该Thread对象的start()方法来启动这个线程,而非直接调用run()三、多线程的创建Ⅰ.方式1 —— 继承于Thread类创建一个继承于Thread类的子类 重写Thread类的run() ---> 将此线程..原创 2021-11-02 21:15:53 · 942 阅读 · 0 评论 -
一、基本概念:程序、进程、线程
程序、进程、线程单核CPU、多核CPU原创 2021-11-02 18:38:12 · 208 阅读 · 0 评论 -
idea中的模板(Templates)
①Setting - Editor - General - Postfix Completion②Setting - Editor - General - Live Templates原创 2021-11-02 17:41:28 · 627 阅读 · 0 评论