进程:一个程序运行,只执行一个进程
线程:一个程序运行,可执行多个线程
并发:多个指令在单个CPU交替执行
并行:多个指令在多个CPU同时执行
实现:新建线程类,继承Thread类,重写run方法
启动:new线程类,多线程类.start();
实现:新建线程类,实现Runable接口,重写run方法
启动:new线程类,new Thread(线程类),thread类.start();
前两种方式不能得到线程的返回值
实现:新建线程类,实现Callable接口,重写有返回值的call方法
启动:new 线程类,new FutrueTask(线程类),new Thread(futrue类),thread.start();
取值:futureTask.get
name:getName,setName(值); // 默认名 Thread-x
休眠:线程.sleep(指定时间)
优先级:getPriority,setPriority(1~10); // 设置线程优先级 1最小10最大,默认5
(新建),调用start后(就绪),抢到CPU执行权(运行),调用sleep(阻塞),执行完线程(死亡)
(1) 同步代码块: synchroized(锁对象) { 代码 }
(2) 同步方法:修饰符 synchroized 返回值类型 方法名() { 代码 }
(3) 锁:Lock lock = new ReentrantLock(); lock.lock();//加锁 lock.unlock();//释放锁
上一篇:【Linux】产生信号的方式