110,538
社区成员
发帖
与我相关
我的任务
分享
var now = DateTime.Now;
foreach (Schedule x in ScheduleList)
{
if (x.下次开始执行时间 <= now)
ThreadPool.QueueUserWorkItem(h => x.Execute());
}
var now = DateTime.Now;
foreach (Schedule x in ScheduleList)
{
if (x.下次开始执行时间)
ThreadPool.QueueUserWorkItem(h => x.Execute());
}
private void MultiSubject(object obj)
{
var dt = (DataTable)obj;
for (int i = 0; i < dt.Rows.Count; i++)
{
var textValue = dt.Rows[i]["Text"].ToString();
var duration = int.Parse(dt.Rows[i]["Duration"].ToString());//时间
var watch = new Stopwatch();
watch.Start();
Action fp = () => CycleDrawSubject(textValue);
if (readOnlyRichTextBox.IsHandleCreated)
readOnlyRichTextBox.Invoke(fp);
int time = (duration - Convert.ToInt32(watch.ElapsedMilliseconds));
if (time > 0)
{
Thread.Sleep(time);
}
watch.Restart();
//重复执行
if (i == dt.Rows.Count - 1)
{
i = 0;
}
}
}
调用处:
var t = new Thread(MultiSubject);
t.Start(dt);
代码写的很烂.... 见笑。