1234567891011121314151617181920212223242526272829303132333435363738 |
-
- package coordination;
-
-
- import java.lang.String;
-
- class Selfex implements Exclusion {
- String methodName;
- Thread thread;
- int count = 0;
-
- Selfex (String _methodName) {
- methodName = _methodName;
- }
-
- public boolean testExclusion (String _methodName) {
- if (count == 0)
- return(true);
- return (thread == Thread.currentThread());
- }
-
- public void enterExclusion (String _methodName) {
- count++;
- thread = Thread.currentThread(); // note that if count wasn't 0
- // we aren't changing thread
- }
-
- public void exitExclusion (String _methodName) {
- count--;
- if (count == 0) // not stricly necessary, but...
- thread = null;
- }
-
- public void printNames() {
- System.out.println("Selfex name: " + methodName);
- }
-
- }
|