多线程案例分析三
发布日期:2021-05-07 09:11:26 浏览次数:19 分类:精选文章

本文共 1098 字,大约阅读时间需要 3 分钟。

竞争抢答

实现一个竞拍抢答的程序,要求设置三个抢答者(三个线程),而后同时打出抢答指令,抢答成功给出成功提示,为抢答成功给出失败提醒。

对于者个多线程的操作由于里面要牵扯到数据的返回问题,那么最好使用Callnable是比较方便的一种处理形式。

 

package multithreading;import java.util.concurrent.*;public class 竞争抢答 {	public static void main(String[] args) {		MyThread3 myThread = new MyThread3();		FutureTask
taskA = new FutureTask
(myThread); FutureTask
taskB = new FutureTask
(myThread); FutureTask
taskC= new FutureTask
(myThread); new Thread(taskA,"抢答者A").start(); new Thread(taskB,"抢答者B").start(); new Thread(taskC,"抢答者C").start(); try { System.out.println(taskA.get()); System.out.println(taskB.get()); System.out.println(taskC.get()); } catch (InterruptedException | ExecutionException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }}class MyThread3 implements Callable
{ private boolean flag = false;//抢答处理 @Override public String call() throws Exception { synchronized (this) { if(this.flag == false) {//抢答成功 this.flag = true; return Thread.currentThread().getName()+"抢答成功"; }else { return Thread.currentThread().getName()+"抢答失败"; } } } }

 

上一篇:StringBuffer类
下一篇:多线程案例分析二

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月10日 01时42分10秒