private void button1_Click(object sender, EventArgs e) { if (ParseWorker.IsBusy != true) { ParseWorker.RunWorkerAsync(); } }
static List <ParseWorker> StartParseWorkers(BuildConf conf) { var parse_workers = new List <ParseWorker>(); int files_per_worker = conf.files.Count < conf.max_threads ? conf.files.Count : (int)Math.Ceiling((float)conf.files.Count / (float)conf.max_threads); int idx = 0; int wid = 0; while (idx < conf.files.Count) { int count = (idx + files_per_worker) > conf.files.Count ? (conf.files.Count - idx) : files_per_worker; ++wid; var pw = new ParseWorker(); pw.id = wid; pw.self_file = conf.self_file; pw.start = idx; pw.inc_path.Add(conf.inc_dir); pw.count = count; pw.use_cache = conf.use_cache; pw.cache_dir = conf.tmp_dir; pw.check_deps = conf.check_deps; pw.files = conf.files; parse_workers.Add(pw); pw.Start(); idx += count; } return(parse_workers); }
private void ChatManagerUI_VisibleChanged(object sender, EventArgs e) { if (base.Visible) { if (!ParseWorker.IsBusy) { ParseWorker.RunWorkerAsync(); } } }