多线程
伊佐奈美須八尾
这个作者很懒,什么都没留下…
展开
-
java基础----多线程04----线程安全问题
1 产生的原因:当某个线程在执行的过程中,尚未结束操作,其他线程参与进来。 2. 解决:当一个线程操作共享数据的时候,其他线程不能参与进来。 3.解决办法: 方法一:同步代码块。 synchronized (同步监视器){ //需要被同步的代码 } class ...原创 2019-08-03 22:13:02 · 126 阅读 · 0 评论 -
java基础----多线程05----线程死锁的问题
1. 概念:死锁 不同的线程分别占用对方的所需要的需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源, 就形成了线程的死锁。 出现死锁后,不会出现异常,也不会出现提示,只是所有的线程都处于阻塞状态,无法继续。 实例:互相占用对方法所需要的锁,造成死锁。 public static void main(String[...原创 2019-08-03 22:13:17 · 118 阅读 · 0 评论 -
java基础----多线程06----线程通讯
/** *线程通讯的例子:使用两个线程分别交替打印1-100 * * 涉及到的三个方法: * wait():执行后,当前线程进入阻塞状态,并且释放同步监视器。 * notify():执行后,会荤唤醒被wait的一个线程,根据线程的优先级决定谁被唤醒 * notyfyAll():唤醒所有的被wait线程。 * * 说明: * 1. wait(), notify(),...原创 2019-08-03 23:06:13 · 117 阅读 · 0 评论 -
java基础----多线程03----线程生命周期
五种状态: 新建: 当一个 Thread 类或其子的对象被声明并创建时,新生线程处于新建状态。 就绪: 处于新建状态的线程被start() 后,将进入线程队列等待CPU时间片,此它已具备了运行的条件,只是没分配到 CPU 资源。 运行: 当就绪的线程被调度并获得 CPU 资源时,便进入运行状态,run() 方法定义了线程的操作和功能 阻塞: 在某种特殊情况下,被人为挂起或执行输入出操作时,...原创 2019-08-02 10:53:03 · 100 阅读 · 0 评论