日期: 2022 年 10 月 21 日

14 篇文章

多线程-同步代码块处理继承Thread类的线程安全问题
package top.qaqaq.java.P434; /** * @author RichieZhang * @create 2022-10-20 下午 10:32 */ /** * 使用同步代码块解决继承Thread类的方式的线程安全问题 * * 例子:创建三个窗口买票,总票数为100张. 使用继承Thread类的方式 * * 在继承Thre…
多线程-线程安全问题的举例和解决措施、同步代码块处理实现Runnable的线程安全问题
package top.qaqaq.java.P432; /** * 例子:创建三个窗口买票,总票数为100张. 使用实现Runnable接口的方式 * * 1.问题:卖票过程中,出现了重票、错票 -->出现了线程的安全问题 * 2.问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票。 * 3.如何解决:当一个…
Thread类中的常用方法
Thread类中的常用的方法: * 测试Thread中的常用方法: * 1. start():启动当前线程; 调用当前线程的run() * 2. run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 * 3. currentThread(): 静态方法,返回执行当前代码的线程 * 4. getName(): 获…
创建多线程的两种方式
创建多线程的两种方式 说明两个问题: 问题一:我们启动一个线程,必须调用start(),不能调用run()的方式启动线程。 问题二:如果再启动一个线程,必须重新创建一个Thread子类的对象,调用此对象的start(). 两种方式的对比: * 开发中:优先选择:实现Runnable接口的方式 * 原因:1. 实现的方式没有类的单继承性的局限性 * …
程序、进程、线程的理解
程序、进程、线程的理解 进程可以细化为多个线程。 每个线程,拥有自己独立的:栈、程序计数器 多个线程,共享同一个进程中的结构:方法区、堆
多线程-复习
1. 谈谈你对程序、进程、线程的理解 程序:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程:是程序的一次执行过程,或是正在运行的一个程序。 线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。 2. 代码完成继承Thread的方式创建分线程,并遍历100以内的自然数 3. 代码完成实现Runnable…
IDEA的使用与多线程-线程的常用方法、线程优先级的设置
package top.qaqaq.java.P421; /** * 测试Thread中的常用方法: * 1. start():启动当前线程; 调用当前线程的run() * 2. run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 * 3. currentThread(): 静态方法,返回执行当前代码的线程 …
IDEA的使用与多线程-继承方式的课后练习
package top.qaqaq.java.P420; /** * 创建两个分线程,其中一个线程遍历100以内的偶数,另一个线程遍历100以内的奇数 * * @author RichieZhang * @create 2022-10-20 下午 3:46 */ public class ThreadDemo { public static voi…