2.1 验证性实验
1、利用两种方式实现多线程:
(1) 第一种方式:继承Thread类
(2) 第二种方式:继承 java.lang.Runnable 接口
第一种方式: public class Test1 { 第二种方式: public class Test2 { |
2、验证线程同步:
定义一个MyList类,封装String类型数组,数组长度为5,初始存储数据为“A”、“B”,同时定义一个变量index记录数组中元素的个数;创建一个MyList对象list,要求一个线程往list添加“C”,另一个线程往list添加“D”,最后遍历list,打印添加结果。
2.2 自主设计性实验
3、创建两个线程,要求如下:
(1) 通过继承 Thread 类定义线程实现输出 1~26;
(2) 通过实现 Runnable 接口定义线程实现输出A-Z。
4、假设一个银行的 ATM 机,它允许用户存款也可以取款。现在一个账户(Account)上存款为 200元,用户 A 和用户 B 都拥有这个账户存款和取款的权利。用户 A 存入 100 元,而用户 B 将取出 50 元,则最终账户的存款应为 250 元。
请编写线程代码模拟以上过程,要求如下:
(1) 定义一个 Account 类,属性为账户名(userName)和余额(balance),类进行封装;
(2) 线程 ThreadA 负责存钱操作;线程 ThreadB 负责取钱操作;
(3) main 函数中负责开启两个线程,并将存取操作结束后的账户余额进行打印输出