OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [external/] [jsr166/] [java/] [util/] [concurrent/] [locks/] [AbstractOwnableSynchronizer.java] - Blame information for rev 768

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 768 jeremybenn
/*
2
 * Written by Doug Lea with assistance from members of JCP JSR-166
3
 * Expert Group and released to the public domain, as explained at
4
 * http://creativecommons.org/licenses/publicdomain
5
 */
6
 
7
package java.util.concurrent.locks;
8
 
9
/**
10
 * A synchronizer that may be exclusively owned by a thread.  This
11
 * class provides a basis for creating locks and related synchronizers
12
 * that may entail a notion of ownership.  The
13
 * <tt>AbstractOwnableSynchronizer</tt> class itself does not manage or
14
 * use this information. However, subclasses and tools may use
15
 * appropriately maintained values to help control and monitor access
16
 * and provide diagnostics.
17
 *
18
 * @since 1.6
19
 * @author Doug Lea
20
 */
21
public abstract class AbstractOwnableSynchronizer
22
    implements java.io.Serializable {
23
 
24
    /** Use serial ID even though all fields transient. */
25
    private static final long serialVersionUID = 3737899427754241961L;
26
 
27
    /**
28
     * Empty constructor for use by subclasses.
29
     */
30
    protected AbstractOwnableSynchronizer() { }
31
 
32
    /**
33
     * The current owner of exclusive mode synchronization.
34
     */
35
    private transient Thread exclusiveOwnerThread;
36
 
37
    /**
38
     * Sets the thread that currently owns exclusive access. A
39
     * <tt>null</tt> argument indicates that no thread owns access.
40
     * This method does not otherwise impose any synchronization or
41
     * <tt>volatile</tt> field accesses.
42
     */
43
    protected final void setExclusiveOwnerThread(Thread t) {
44
        exclusiveOwnerThread = t;
45
    }
46
 
47
    /**
48
     * Returns the thread last set by
49
     * <tt>setExclusiveOwnerThread</tt>, or <tt>null</tt> if never
50
     * set.  This method does not otherwise impose any synchronization
51
     * or <tt>volatile</tt> field accesses.
52
     * @return the owner thread
53
     */
54
    protected final Thread getExclusiveOwnerThread() {
55
        return exclusiveOwnerThread;
56
    }
57
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.