type | bits | pins | async
MHz |
sync
MHz |
cable
meters |
raw
throughput Mbytes/sec |
---|---|---|---|---|---|---|
SCSI | 8 | 50 | 4 | 5 | 6 | 5 |
SCSI-2 | 8 | 50 | 8 | 10 | 3 | 10 |
wide SCSI-2 | 16 | 68 | 8 | 10 | 3 | 20 |
differential SCSI-2 | 16 | 68 | 8 | 10 | 25 | 20 |
Fast20 aka Ultra | 16 | 68 | 8 | 20 | 3 | 40 |
Finally, Sun themselves have created a Java Communication's API which defines a platform-independent way to do serial port communication. You can get the early-access version from the Java Developer Connection.
type | size
in bytes |
---|---|
boolean | 1 |
byte | 1 |
char | 2 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
object reference | 4 |
return address | 4 |
Only one thread at a time can own the lock for any given object. Thus if more than one thread tries to enter a section of code for which the lock must be acquired then only one thread will get the lock and all other threads will block. Note however that a thread can still execute a non-synchronized method or block of code even if the object is locked.
To protect access to static variables you must lock the class object - which is what a synchronized static method does. Alternatively in any method you can obtain a lock on the class object explicitly using synchronised(getClass()){ ... }
When multiple threads are waiting to acquire the lock on an object the order in which the lock is assigned to a waiting thread is not defined.
See monitor, mutex, semaphore.
![]() |
![]() |
![]() |
|
Canadian Mind Products | The Mining Company's Focus on Java Best of the Net Award |
You can get an updated copy of this page from http://mindprod.com/jglosss.html |