int main() { cspider_t *spider = init_cspider(); char *agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0"; setlocale(LC_ALL,""); cs_setopt_url(spider, "http://www.youku.com/v_olist/c_96_s_0_d_0_g_0_a_0_r_0_u_0_pt_0_av_0_ag_0_sg_0_mt_0_lg_0_q_0_pr_0_h_0_p_1.html"); cs_setopt_useragent(spider, agent); //指向自定义的解析函数,和数据持久化函数 cs_setopt_process(spider, p, NULL); cs_setopt_save(spider, s, stdout); //设置抓取线程数量,和数据持久化的线程数量 cs_setopt_threadnum(spider, DOWNLOAD, 2); cs_setopt_threadnum(spider, SAVE, 2); cs_setopt_logfile(spider, stdout); return cs_run(spider); }
static void run_workgroup(const struct sp_compute_shader *cs, int g_w, int g_h, int g_d, int num_threads, struct tgsi_exec_machine **machines) { int i; bool grp_hit_barrier, restart_threads = false; do { grp_hit_barrier = false; for (i = 0; i < num_threads; i++) { grp_hit_barrier |= cs_run(cs, g_w, g_h, g_d, machines[i], restart_threads); } restart_threads = false; if (grp_hit_barrier) { grp_hit_barrier = false; restart_threads = true; } } while (restart_threads); }