87,993
社区成员
发帖
与我相关
我的任务
分享
public class FunClient
{
private String userid;//用户标识
private String funid;//需要执行的方法标识
private bool funstatus;//方法执行状态
这里是一些其他属性
这里是get,set
}
public class ExcClientFunUtil
{
//存储所有执行方法的对象
public static Vector<FunClient> vector = new Vector<FunClient>();
//添加
public static status vectorAdd(FunClient client)
{
//判断是否有同一用户正在执行的方法
for (int i = 0;i<vector.size();i++) {
if(vector.get(i).userid==client.userid&&vector.get(i).funid==client.funid)
{
//判断状态 已经执行完成或者正在执行 返回你的标记
}
}
//没有找到
vector.add
}
//方法执行完成,这里只在方法执行成功后调用
public static bool vectorFunFinish(FunClient client)
{
//找到执行成功的对象,标记执行完成
//这里如果你的框架支持服务器通知客户端,可以直接通知,像用dwr或者websocket什么的,这样的话这里就完结了
}
//删除,这里只在页面调用,判断方法是否完成,获取状态后同时可以移除 vector里的对象
public static status vectorFunFinish(FunClient client)
{
}
}
class 你的action或者controllerc{
1.调用vectorAdd
2.根据不同情况判断是否启动线程执行方法
启动线程时传入FunClient对象 ,线程结束后调用vectorFunFinish
}