Download Thread_project/Thread_case_module/src/Thread_case5_package/Test.java from zxy0307/Java: direct link, hf CLI and curl.
- Browser
- Download file 1.63 kB
-
https://huggingface.co/zxy0307/Java/resolve/main/Thread_project/Thread_case_module/src/Thread_case5_package/Test.java
- Command line
-
hf download hf://zxy0307/Java/Thread_project/Thread_case_module/src/Thread_case5_package/Test.java
-
curl -L -o Test.java https://huggingface.co/zxy0307/Java/resolve/main/Thread_project/Thread_case_module/src/Thread_case5_package/Test.java
1.63 kB
| package Thread_case5_package; | |
| import java.util.ArrayList; | |
| import java.util.Collections; | |
| import java.util.concurrent.ExecutionException; | |
| import java.util.concurrent.FutureTask; | |
| public class Test { | |
| public static void main(String[] args) throws ExecutionException, InterruptedException { | |
| /* | |
| 有一个抽奖池,该奖池中存放了奖励金额,该抽奖池中的奖项为{10,5,20,50,100,200,500,800,2,80,300,700}; | |
| 创建两个抽奖箱(线程)设置线程名称分别为"抽奖箱1","抽奖箱2" | |
| 随机从抽奖池中获取奖项元素并打印在控制台上 | |
| 打印每个奖箱的最高奖项,总金额 | |
| 打印最高的奖项出现在哪个奖箱 | |
| */ | |
| //创建奖池 | |
| ArrayList<Integer> list = new ArrayList<>(); | |
| Collections.addAll(list, 10, 5, 20, 50, 100, 200, 500, 800, 2, 80, 300, 700); | |
| //创建多线程要运行的参数对象 | |
| MyCallable mc = new MyCallable(list); | |
| //创建多线程运行结果的管理者对象 | |
| //线程一: | |
| FutureTask<Integer> ft1 = new FutureTask<>(mc); | |
| //线程二: | |
| FutureTask<Integer> ft2 = new FutureTask<>(mc); | |
| //创建线程对象 | |
| Thread t1 = new Thread(ft1); | |
| Thread t2 = new Thread(ft2); | |
| //设置名字 | |
| t1.setName("抽奖箱1"); | |
| t2.setName("抽奖箱2"); | |
| //开启线程 | |
| t1.start(); | |
| t2.start(); | |
| Integer max1 = ft1.get(); | |
| Integer max2 = ft2.get(); | |
| System.out.println(max1); | |
| System.out.println(max2); | |
| } | |
| } | |