猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
Java如何实现一个方法只能被同一个线程调用一次?
如题。Java 如何实现一个方法只能被同一个线程调用一次 ,同一个线程调用第二次的时候可以抛异常。
潇潇雨雨
浏览 788
回答 2
2回答
守候你守候我
Thread.getCurrentThread.getId()
0
0
0
慕勒3428872
自定义一个 Thread 类在自定义的 Thread 上添加一个 boolean 成员用于判断 例子 public class Main{public static void main(String[] args) { new MyThread(new Runnable() { @Override public void run() { test(); test(); test(); test(); } }).start(); } public static void test() { Thread t = Thread.currentThread(); if ( !(t instanceof MyThread) || ((MyThread)t).isTestInvoked() ) return ; System.out.println("Method test invoked !"); } public static class MyThread extends Thread { public MyThread(Runnable r) { super(r); } public MyThread() { super(); } public boolean isTestInvoked() { boolean result = methodTestInvoked; methodTestInvoked = true; return result; } private boolean methodTestInvoked = false; } } 运行结果Method test invoked ! 其他 也可以用 ThreadLocal 解决
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续