【目录】 【上一页】 【下一页】 【索引】
Contains data for an entire application.
Each client accessing the same application shares the same project object. Use the project object to maintain global data for an entire application. Many clients can access an application simultaneously, and the project object lets these clients share information.
The runtime engine creates a set of project objects for each distinct Netscape HTTPD process running on the server. Because several server HTTPD processes may be running on different port numbers, the runtime engine creates a set of project objects for each process.
You can lock the project object to ensure that different clients do not change its properties simultaneously. When one client locks the project object, other clients must wait before they can lock it. See Lock for more information about locking the project object.
示例 1. This example creates the lastID property and assigns a value to it by incrementing an existing value.
project.lastID = 1 + parseInt(project.lastID, 10)
示例 2. This example increments the value of the lastID property and uses it to assign a value to the customerID property.
project.lastID = 1 + parseInt(project.lastID, 10);
client.customerID = project.lastID;
In the previous example, notice that the project object is locked while the customerID property is assigned, so no other client can attempt to change the lastID property at the same time.
client, request, server
The project object has no predefined properties. You create custom properties to contain project-specific data that is required by an application.
You can create a property for the project object by assigning it a name and a value. For example, you can create a project object property to keep track of the next available Customer ID. Any client that accesses the application without a Customer ID is sequentially assigned one, and the value of the ID is incremented for each initial access.
Obtains the lock. If another thread has the lock, this method waits until it can get the lock.
You can obtain a lock for an object to ensure that different clients do not access a critical section of code simultaneously. When an application locks an object, other client requests must wait before they can lock the object.
Note that this mechanism requires voluntary compliance by asking for the lock in the first place.
Releases the lock.
If you unlock a lock that is unlocked, the resulting behavior is undefined.
【目录】 【上一页】 【下一页】 【索引】