一、学习内容总结:
- 程序是一段静态的代码,它是应用软件执行的蓝本。进程是程序一次动态执行的过程,它对应了从代码加载、执行至执行完成的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。
- 线程不是进程,但其行为很像进程,线程是比进程更小的执行单位。
- 多线程是指一个应用程序中同时存在几个执行体,按几条不同的执行线索共同工作的情况。
- 每个java程序都有一个缺省的主线程。
- 在java语言中,用Thread类或子类创建线程对象。
- java虚拟机(JVM)中的线程调度器负责管理线程,在采用时间片的系统中,每个线程都会有机会获得CPU的使用权。当线程使用占用CPU资源的时间到后,即使线程没有完成自己的全部操作,java调度器也会中断当前线程的执行,把CPU的使用权切换给下一个排队等待的线程,当前线程将等待CPU资源的下一次轮回,然后从中断处继续执行。
- 线程创建后仅仅是占用了内存资源,在JVM管理的线程中还没有这个线程,此线程必须调用start()方法通知JVM,这样JVM就会知道又有一个新线程排队等待切换了。
- 线程同步是指几个线程都需要调用一个同步方法(用synchronized修饰的方法)。一个线程在使用同步方法时,可能根据问题的需要,必须使用wait()方法暂时让出CPU的使用权,以便其他线程使用这个同步方法。其他线程在使用这个同步方法时不需要等待,那么它用完这个同步方法的同时,应当执行notifyAll()方法通知所有由于使用这个同步方法而处于等待的线程停止等待。
二、码云及脚本运行截图:
三、码云链接: