多线程概述:充分利用计算机资源,同时执行不同的操作
1.计算机操作系统 进程和线程
2.使用java来完成多线程的编码
3.线程中的常用方法
4.线程同步(重点)
5.死锁
6.生产者消费者模型 异步
操作系统简介
操作系统:本质上就是一个运行在一堆硬件上的巨型软件
没有操作系统的话,程序想要操控硬件,需要c语言或者汇编语言
有操作系统后,程序就可以借助操作系统这个中介来运行。
操作系统存在的意义:帮助上层应用程序屏蔽掉硬件的丑陋接口。
进程:是正在执行的程序,其实就是一块内存区域,存储着程序的资源。
线程:是被cpu调度的最小单位。
Java多线程
两种方法:
1.继承Thread类,重写run方法
使用线程:创建线程对象 调用start()方法启动一个线程
2.实现Runnable接口 创建run方法
使用线程:先创建Runnable对象 在创建线程对象,线程对象必须指向我的Runnable。
线程中的相关方法
setPriority() 设置优先级 1-10 (优先级高不意味着独占cpu)
sleep() 睡眠(重点) 每隔xxx时间去执行一个xxx操作
Join()让当前线程执行 ,主线程等待。
yield()让出cpu,让别人执行一下
interrupt()打断正在睡眠的线程
线程同步
当多个线程共享同一个资源,在某一个线程访问到这个资源的时候,把这个资源暂时封锁,等待执行结束,释放这个锁。
实现:
1.在方法声明上加一个synchronized关键字
2.在方法内部使用synchronized(){}语句块对特定对象上锁
3.手动上锁 :创建一个所锁
lock.lock()上锁
lock.unlock()解锁
标签:Runnable,操作系统,每周,lock,第八,线程,多线程,方法 From: https://www.cnblogs.com/sxwgzx23/p/17674264.html