我在做一个网上判卷的Asp.net(C#)程序,挺复杂的,库为Oracle,在分配卷纸的问题上就卡住了。有30个老师,判几万张卷纸,要随机给他们分配卷纸,条件是:两个人或两个人以上不能同时判同一张卷,某个老师判完了某张卷纸就不能再判这张卷纸,卷纸出分或为问题卷(见后面解释)就不能再判。出分(和出问题)条件:每个卷纸第1次判为1评,第2次判为2评,如果|1评-2评|<4,出分为(1评+2评)/2;否则就3评,以此类推,到4评还没出分就判为问题卷。我想利用线程分配卷纸(如果直接写不用线程,不计算完不会显示网页),希望当某老师登陆时计算出他应分配的卷纸和点"下一张"应分配的预设卷纸,在点"下一张"时给出之前计算出的预设卷纸,并给出一个线程计算他再次点"下一张"应分配的预设卷纸,对于计算老师点"下一张"算出的预设卷纸时应不把在他之前分配的其他老师的没打分的预设卷纸计算在内,这个线程应如何写呢?谢谢了!
说它是一个线程问题不如说它是一个算法问题,算法你写的很清楚只要用代码实现就可以了。该问题也可以看成一个数据库并发的问题,怎样互斥的访问资源等。只要处理好标志位我想应该不是什么难题。
the teacher's ID 1BeingScoredByID by default is set to 0when you give 卷纸, recored 老师's ID thereof course, what if 老师 never returned the score or the session timedout, then you need to clean up this column...
对呀,有好的算法(数据量是很大的呀,数据表要将近6,7百万条呀,还要随机,判一段时间就更麻烦了),就帮帮忙呀!我是想对于Web来说,不用线程有可以边计算边显示的好方法吗?主要老师可不能等呀。比如,他点"下一张"计算(不论是要显示的,还是预显示的,占用主线程Web页要等计算完才显示呀)等着这些老师可不干呀!我是想利用老师判卷的时间来分配他的下一张卷。