KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > beehive > controls > api > bean > ThreadingPolicy


1 package org.apache.beehive.controls.api.bean;
2 /*
3  * Copyright 2004 The Apache Software Foundation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * $Header:$
18  */

19
20 /**
21  * Specifies threading policy for control implementations. The constants
22  * of this enumerated type describe the threading policies that apply
23  * during execution of controls. They are used in conjunction with the
24  * {@link Threading} annotation type to specify the responsibilities of
25  * the runtime infrastructure and control implementation with respect to
26  * threading.
27  */

28 public enum ThreadingPolicy
29 {
30     /**
31      * When a control implementation is declared as SINGLE_THREADED, the
32      * controls infrastructure ensures that only a single thread will be
33      * executing in a particular instance of that control at any time.
34      * This is the default policy if no {@link Threading} annotation is
35      * specified.
36      */

37     SINGLE_THREADED,
38     /**
39      * When a control implementation is declared as MULTI_THREADED, the
40      * controls infrastructure permits multiple threads to concurrently
41      * execute in instances of that control. It is then the responsibility
42      * of the implementation to ensure internal thread-safety using
43      * standard Java concurrency mechanisms. This policy may yield higher
44      * performance, at the cost of additional work on the implementor's part.
45      */

46     MULTI_THREADED
47 }
48
Popular Tags