Java并发编程基础
- - 并发编程网 - ifeve.com并发是一种能并行运行多个程序或并行运行一个程序中多个部分的能力. 如果程序中一个耗时的任务能以异步或并行的方式运行,那么整个程序的吞吐量和可交互性将大大改善. 现代的PC都有多个CPU或一个CPU中有多个核. 是否能合理运用多核的能力将成为一个大规模应用程序的关键. 进程是以独立于其他进程的方式运行的,进程间是互相隔离的.
synchronized(class) synchronized(this)
synchronized(this) synchronized(this)
synchronized(class) synchronized(class)
Public synchronized void methodAAA()
{
//….
}
public void methodAAA()
{
synchronized (this) // (1)
{
//…..
}
}
public void method3(SomeObject so)
{
synchronized(so)
{
//…..
}
}
class Foo implements Runnable
{
private byte[] lock = new byte[0]; // 特殊的instance变量
Public void methodA()
{
synchronized(lock) { //… }
}
//…..
}
Class Foo
{
public synchronized static void methodAAA() // 同步的static 函数
{
//….
}
public void methodBBB()
{
synchronized(Foo.class) // class literal(类名称字面常量)
}
}