怎么用main方法测试
时间: 2023-08-02 08:31:33 浏览: 81
传递两个整数值并找出其中较大的一个,传递三个double值并求出其乘积,传递两个字符串值并检查其是否相同,在main方法中测试构
要在main方法中测试读者和写者问题的代码,可以按照以下步骤进行:
1. 创建ReaderWriter对象,用于模拟共享资源的读写操作。
2. 创建多个读者线程和写者线程,并调用ReaderWriter对象的read()和write()方法进行访问。
3. 在读者线程和写者线程中输出一些信息,以便观察各个线程的执行顺序和结果。
下面是一个示例代码,演示如何在main方法中测试读者和写者问题的代码:
```java
public class Main {
public static void main(String[] args) {
ReaderWriter rw = new ReaderWriter(); // 创建ReaderWriter对象
// 创建5个读者线程
for (int i = 0; i < 5; i++) {
new Thread(() -> {
try {
System.out.println(Thread.currentThread().getName() + " is trying to read...");
rw.read(); // 读者线程访问共享资源
System.out.println(Thread.currentThread().getName() + " finished reading.");
} catch (InterruptedException e) {
e.printStackTrace();
}
}, "Reader " + i).start();
}
// 创建2个写者线程
for (int i = 0; i < 2; i++) {
new Thread(() -> {
try {
System.out.println(Thread.currentThread().getName() + " is trying to write...");
rw.write(); // 写者线程访问共享资源
System.out.println(Thread.currentThread().getName() + " finished writing.");
} catch (InterruptedException e) {
e.printStackTrace();
}
}, "Writer " + i).start();
}
}
}
```
在上述示例代码中,创建了5个读者线程和2个写者线程,并分别调用ReaderWriter对象的read()和write()方法进行访问。在读者线程和写者线程中输出了一些信息,以便观察各个线程的执行顺序和结果。运行程序后,可以观察到读者和写者线程交替访问共享资源的情况,同时也可以观察到读者和写者之间的互斥和同步关系。
阅读全文