摘要:
一:Lock锁(去别synchronized,Lock是显示的定义同步锁,而synchronized是隐式的定的不知道锁的谁) ①从jdk5.0开始,java提供了更强大的线程同步机制--通过显示定义同步锁对象来实现同步。同步锁使用Lock对象充当 ②java.util‘.concurrent.lo 阅读全文
摘要:
一:死锁 ①多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致俩个或多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有“俩个以上对象的锁”时,就可能发生死锁的问题。 ②产生死锁的是个必要条件 A互斥条件:一个资源每次只能被一个进程使用 B请求与保持条件:一 阅读全文
摘要:
一:解决自己以前的疑问 比如:创建三个对象 class Test7 implements Runnable{ private int i=10; @Override public void run() { System.out.println(Thread.currentThread().getNa 阅读全文
摘要:
一:线程礼让 ①礼让线程,让当前正在执行的线程暂停,但不阻塞 ②将线程从运行状态转为就绪状态 ③让cpu重新调度,礼让不一定成功,看cpu 其实yield的作用就是让我们的运行时的线程转变为就绪状态的线程,和那些就绪的线程一起竞争 class Yield implements Runnable{ p 阅读全文
摘要:
一:线程状态 ①新建:Thread t=new Thread();线程对象一旦创建就进入到新生状态。 ②就绪:当我们调用start()方法,线程立即进入就绪状态,但不意味立即调度执行。 ③运行:运行run()方法(是我们进入就绪状态后,我们cpu调用我们的线程我们就开始执行run方法),进入运行状态 阅读全文
摘要:
一:进程的概念 电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑管家等等。 二:多线程的概念 进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。 那什么是多线程?提到多线程 阅读全文