1. 以下同步代码
synchronized(object)
{
//对object的操作代码
}
如果我有另外一个线程里的完全无关的函数
void fun()
{
//对object的操作代码
}
假设现在已经进入了前面那段代码,那么fun函数对object的访问代码还能执行吗吗?
还是需要将fun函数写成以下形式?
void fun()
{
synchronized(object)
{
//对object的操作代码
}
}2. class MyClass
{
void synchronized fun()
{
...
}
}
那么两个线程中的两个不同的MyClass对象A和B,它们调用fun时,A.fun()和B.fun()是不是互斥的呢?即A.fun()执行时,B.fun()能不能执行呢?
synchronized(object)
{
//对object的操作代码
}
如果我有另外一个线程里的完全无关的函数
void fun()
{
//对object的操作代码
}
假设现在已经进入了前面那段代码,那么fun函数对object的访问代码还能执行吗吗?
还是需要将fun函数写成以下形式?
void fun()
{
synchronized(object)
{
//对object的操作代码
}
}2. class MyClass
{
void synchronized fun()
{
...
}
}
那么两个线程中的两个不同的MyClass对象A和B,它们调用fun时,A.fun()和B.fun()是不是互斥的呢?即A.fun()执行时,B.fun()能不能执行呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货