From the Java Language Specification:
The Java™ programming language is a general-purpose, concurrent, class-based, object-oriented language.
What is a concurrent language?
From the Java Language Specification:
The Java™ programming language is a general-purpose, concurrent, class-based, object-oriented language.
What is a concurrent language?
It means that threads and synchronization are built into the language, rather than being part of a library that you may include (like PThreads for C).
It's a language optimized, or at least thought to be used for concurrent computing. It will have built in simplifications to handle things as threads.
Concurrent computing is a form of computing in which programs are designed as collections of interacting computational processes that may be executed in parallel.
You can simply make a method synchronized because Java is a concurrent language. Like the doc says :
To make a method synchronized, simply add the synchronized keyword to its declaration:
public class SynchronizedCounter {
private int c = 0;
public synchronized void increment() {
c++;
}
public synchronized void decrement() {
c--;
}
public synchronized int value() {
return c;
}
}
Sounds like marketing waffle ... almost no one I know would regard any language to be "concurrent" just because it has a few primitives or syntactic sugar around threading and locking.