摘要: 线程生命周期 任何事物都是生命周期,线程也是, 1. 正常终止 当线程的run()执行完毕,线程死亡。 2. 使用标记停止线程 注意:Stop方法已过时,就不能再使用这个方法。 如何使用标记停止线程停止线程。 开启多线程运行,运行代码通常是循环结构,只要控制住循环,就可以让run方法结束,线程就结束 阅读全文
posted @ 2020-09-01 22:53 nohert 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 线程的通讯 线程间通信其实就是多个线程在操作同一个资源,但操作动作不同 生产者消费者 如果有多个生产者和消费者,一定要使用while循环判断标记,然后在使用notifyAll唤醒,否者容易只用notify容易出现只唤醒本方线程情况,导致程序中的所有线程都在等待。 例如:有一个数据存储空间,划分为两个 阅读全文
posted @ 2020-09-01 22:52 nohert 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 锁对象 什么是锁对象? 每个java对象都有一个锁对象.而且只有一把钥匙. 如何创建锁对象: 可以使用this关键字作为锁对象,也可以使用所在类的字节码文件对应的Class对象作为锁对象 1. 类名.class 2. 对象.getClass() 注意:非静态同步函数的锁对象是 this 对象,静态的 阅读全文
posted @ 2020-09-01 21:15 nohert 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 创建线程的方式二实现Runnable接口 创建线程的第二种方式.使用Runnable接口. 该类中的代码就是对线程要执行的任务的定义. 1:定义了实现Runnable接口 2:重写Runnable接口中的run方法,就是将线程运行的代码放入在run方法中 3:通过Thread类建立线程对象 4:将R 阅读全文
posted @ 2020-09-01 21:07 nohert 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 线程常见的方法 Thread(String name) 初始化线程的名字 getName() 返回线程的名字 setName(String name) 设置线程对象名 sleep() 线程睡眠指定的毫秒数。 getPriority() 返回当前线程对象的优先级 默认线程的优先级是5 setPrior 阅读全文
posted @ 2020-09-01 21:01 nohert 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 创建线程的方式一 1. 继承Thread类 getName()是获取线程的名字。 执行后的效果: 问题: 先按照顺序运行完了张三,然后接着再按照顺序运行完李四,我们想要的效果是张三和李四做资源的争夺战,也就是先是张三然后李四,没有顺序执行。这就证明多线程没有起到效果。 2. 需要复写run方法,把要 阅读全文
posted @ 2020-09-01 20:54 nohert 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 主(main)方法线程 主线程:执行主(main)方法的线程 单线程程序:Java程序中只有一个线程,执行从main方法开始,从上到下依次执行 单线程程序例: public class MainThread { public static void main(String[] args) { One 阅读全文
posted @ 2020-09-01 19:34 nohert 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 线程的概述 进程:正在运行的程序,负责了这个程序的内存空间分配,代表了内存中的执行区域。 线程:就是在一个进程中负责一个执行路径。 多线程:就是在一个进程中多个执行路径同时执行。 多线程的好处: 解决了一个进程里面可以同时运行多个任务(执行路径)。 提供资源的利用率,而不是提供效率。 多线程的弊端: 阅读全文
posted @ 2020-09-01 16:41 nohert 阅读(134) 评论(0) 推荐(0) 编辑