![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
寒青~
这个作者很懒,什么都没留下…
展开
-
JavaSE 多线程(线程的常用方法)
线程常用方法:1.start():启动当前线程;调用当前线程的run();2.run():通常重写需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中。3.currentThread():静态方法,返回执行当前代码的线程。4.getName():获取当前线程的名字;5.setName():设置当前线程的名字6.yield():一旦执行此方法时候,释放当前CPU的执行在线程一为0时候。可以被20整除,CPU切换另一个线程。7.join():在线程A中调用线原创 2020-06-22 22:39:52 · 123 阅读 · 0 评论 -
JavaSE 多线程(线程的通信)
一:线程的通信:首先我们来看一个例子:使用两个线程打印1-100.线程1,线程2 交替打印此程序设计到三个方法:wait():一旦执行次方法,当前线程就进入阻塞状态,并释放同步监视器(锁)。notify():一旦执行此方法,就会唤醒wait的一个线程。如果多个线程被wait,就唤醒优先级高的线程。nodifyAll():一旦执行此方法,就会唤醒所有被wait的线程。说明:1.wait(),notify(),notifyAll()三个方法必须使用在同步代码块或同步方法中。2.wa原创 2020-06-22 21:16:50 · 145 阅读 · 0 评论 -
JavaSE 多线程(死锁)
一:线程的生命周期:新建:当一个线程被创建的时候,新生的线程处于新建状态就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备运行条件,只是没分配到CPU资源。运行:当就绪的线程被调度并获得CPU资源时,边进入运行状态,run()方法定义了线程的操作和功能。阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让CPU临时终止自己的执行,进入阻塞状态。死亡:线程 完成它的全部工作、线程被提前强制性终止、出现异常导致结束。二:死锁:1.理解:①不同线程分别原创 2020-06-20 18:30:44 · 78 阅读 · 0 评论 -
Java SE 多线程(线程的同步)
线程的安全性首先我们来看一个例子:创建3个窗口卖票,总票数100张;运行结果为:1.**问题:**卖票过程中出现了重票、错票 -----> 出现了的安全问题2.**原因:**当某个线程来操作车票的过程中,尚未操作完成时,其他线程参与过来,因为操作车票。3.**解决:**当一个线程a在操作ticket的时候,其他线程不能参与进来。直到线程a操作完ticket的时候,其他线程才可以操作ticket。这种情况即使线程a出现了阻塞,也不能被改变。在java 中通过使用同步机制解决线程安全问题原创 2020-06-20 14:43:36 · 101 阅读 · 0 评论