请大家讨论一下这个多线程的实现。 定义两个static变量分别记录读和写的进程数当写进程进来,先判断有没有两个变量,当都为0时才可以执行写,同时置写进程数为1,否则等待当读进程进来,先判断有没有写进程,如果没有写进程,则执行读操作,同时读进程数加1,否则等待 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 被访问的类中设置两个锁对象,如public Object readLock = new Object();public Object writeLock = new Object();假设这个类实例是a。在线程类的读方法中对读锁同步:public void read(){ synchronized(a.readLock){ ...... }}在线程类的写方法中对读锁和写锁都同步:public void write(){ synchronized(a.readLock){ synchronized(a.writeLock){ ...... } }} 奇怪问题,请高手指点(Illegal operation on empty result set.) 急!一个关于异常的问题 情人节,求大家一问题,望帮助啊! JBuilder 9怎么不让调试啊??? 请问如何将java帮助文档加到我得工具jcreatorzhong!!!(急) java数据库数据查询优劣问题 **超级简单问题**请问java如何定义数组? 关于jbuilder 在web页中用网格显示查询数据 菜鸟问题:JDBC连接Access的步骤是什么 程序自升级里碰到的一个怪事,大家来看看是什么原因…… 如何让线程轮寻每一个socket链接,并处理收到的数据
public Object readLock = new Object();
public Object writeLock = new Object();
假设这个类实例是a。
在线程类的读方法中对读锁同步:
public void read(){
synchronized(a.readLock){
......
}
}
在线程类的写方法中对读锁和写锁都同步:
public void write(){
synchronized(a.readLock){
synchronized(a.writeLock){
......
}
}
}