JUC并发

进程和线程

并发、并行
并发编程:并发、并行

并发(多线程操作同一个资源)

  • CPU一核,模拟出来多条线程,快速交替

并行(多个人一起行走)

  • CPU多核,多个线程可以同时执行
public class Test01 {
    public static void main(String[] args) {
        // 获取CPU参数
        System.out.println(Runtime.getRuntime().availableProcessors());
    }
}

并发编程的本质:充分利用CPU的资源

线程有几个状态

 public enum State {
      // 新生
        NEW,

       // 运行
        RUNNABLE,
		
		// 阻塞
        BLOCKED,

       // 等待,死死的等
        WAITING,

       // 超时等待
        TIMED_WAITING,

      	// 终止
        TERMINATED;
    }

wait/sleep区别

1.来自不同的类

wait=>Object

sleep=>Thread

2.关于锁的释放

wait会释放锁,sleep不会释放

3.使用的范围不同

wait必须在同步代码块中

sleep可以在任何地方睡

4.是否需要捕获异常

wait不需要捕获异常

sleep必须要捕获异常

Lock锁

传统Synchronized

JUC并发

上一篇:Photoshop入门:动作的安装使用实例


下一篇:PhotoShop(PS)锐化照片实例教程详细解说