Esempio n. 1
0
int main(int argc, char const *argv[])
{

	//init mq
	close_mq();

	init_mq();

	send_url(argv[1]);
/*
	pthread_t crawler;
	if((pthread_create (&crawler, NULL, asyncCrawling,NULL)!=0)){
		printf("create crawler pthread failed!\n");
		return 0;
	}

	pthread_t analysis;
	if((pthread_create (&analysis, NULL, analysis_thread_dispatch,NULL)!=0)){
		printf("create analysis pthread failed!\n");
		return 0;
	}

	pthread_join(crawler, NULL);
	printf("quit the crawler thread!\n");
	pthread_join(analysis, NULL);
	printf("quit the analysis thread!\n");
	*/
	pool_init(THREAD_NUM);

	sleep(1);
	
	int i;
	for(i=0;i<THREAD_NUM;i++){
		if(i==THREAD_NUM-1){
	 		pool_add_worker(asyncCrawling,NULL);
		}else{
			pool_add_worker(Analysis,NULL);	
		}
	}
	
	printf("nihao!\n");
	sleep(2);
	pool_destroy();

	close_mq();

	return 0;
}
Esempio n. 2
0
void download_speed(char* dest_server_ip,char* interface_name,char* vist_domain)
{
	/*https check ?*/
	/*create  url like http://speedtest.bmcc.com.cn/speedtest/random350x350.jpg */
	int size[] = {4000,4000,4000,3500,3500,3500,3000,3000,3000,2500,2500,2500,2000,2000,2000,1500,1500,1500,1000,1000,1000,750,750,750,500,500,500,350,350,350};
	int size_num = sizeof(size)/4;
	int i;
	struct download_post_info info[size_num];
	/*delay time */
	struct timeval starttime,endtime;

	
	for(i=0;i<size_num;i++){
		fill_down_request(info[i].post_string,size[i],vist_domain);
		strncpy(info[i].server_ip,dest_server_ip,IPV4_SIZE);
		strncpy(info[i].interface,interface_name,MAX_NAME_LEN);
	}
	gettimeofday(&starttime,0);
	for(i=0;i<size_num;i++){
		pool_add_worker(file_download,&info[i]); 
	}
	while(1){ 
		usleep(1000);
		//IK_APP_DEBUG_LOG("cur_queue_size = %d\n",pool->cur_queue_size);
		if(pool->cur_queue_size == 0){
			pool_destroy();
			/*when the pool been destroy , mission had been done */
			gettimeofday(&endtime,0);
			double timeuse = (1000000*(endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - starttime.tv_usec)/1000000;
			double result = (sum_lens / timeuse / (1024 * 1024));
			printf("sum_lens: %lld byte | time_use: %f s | speed : %.2fMB\n",sum_lens,timeuse,result);
			break;
		}
	}
}
Esempio n. 3
0
int
main(int argc, char *argv[])
{
	int NUM_THREAD = 100;
	int NUM_WORK = 10;

	/* 线程池中最多 xx 个活动线程 */
	init_thread_pool(NUM_THREAD);
	/* 连续向池中投入 xx 个任务 */
	int *working_num = (int *) malloc(sizeof(int) * NUM_WORK);

	int i;
	for (i = 0; i < NUM_WORK ; ++i) {
		working_num[i] = i;
		pool_add_worker(thread_func, &working_num[i]);
	}
	printf("\n");

	/* 等待所有任务完成 */
	//sleep (5);
	/* 销毁线程池 */
	pool_destroy();
	free(working_num);

	return 0;
}
Esempio n. 4
0
void upload_speed(char* dest_server_ip,char* interface_name,char* vist_domain)
{
	int i;
	int loop = HTTP_SEND_NUM;
	struct download_post_info info[HTTP_SEND_NUM];
	/*delay time */
	struct timeval starttime,endtime;
	
	/*fill struct for post */
	for(i=0;i<loop;i++){
		fill_upload_request(info[i].post_string,vist_domain);
		strncpy(info[i].server_ip,dest_server_ip,IPV4_SIZE);
		strncpy(info[i].interface,interface_name,MAX_NAME_LEN);
	}
	
	gettimeofday(&starttime,0);
	for(i=0;i<loop;i++){
		pool_add_worker(file_upload,&info[i]); 
	}
	while(1){ 
		usleep(1000);
		//IK_APP_DEBUG_LOG("pool->cur_queue_size == %d\n",pool->cur_queue_size);
		if(pool->cur_queue_size == 0){
			pool_destroy();
			gettimeofday(&endtime,0);
			double timeuse = (1000000*(endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - starttime.tv_usec)/1000000;
			double result = (sum_send_lens / timeuse / (1024 * 1024));
			printf("sum_lens: %lld byte | time_use: %f s | speed : %.2fMB\n",sum_send_lens,timeuse,result);
			break;
		}
	}
}
Esempio n. 5
0
int main(int argc,char **argv)
{
	/*线程池中最多3个活动线程*/
	pool_init(3);

	int *workingnum=(int *)malloc(sizeof(int)*10);

	/*连续向线程池中投入10个任务*/
	int i;
	for(i=0;i<10;i++)
	{
		workingnum[i]=i;
		pool_add_worker(myprocess,&workingnum[i]);
	}
	
	/*等待所有任务完成*/	
	sleep(5);
	
	/*销毁线程池*/
	pool_destroy();

	free(workingnum);

	return 0;
}
Esempio n. 6
0
int main(int argc, char * argv[])
{
	pthread_t manage_tid;
	thread_revoke_init(); 	
	sleep(1);
	pool_init(g_def_thread_num);
	sleep(3);
	pthread_create(&manage_tid,NULL,thread_manage,NULL);
//	int *workingnum = (int *)malloc(sizeof(int)*1000);
	int i;
	for(i = 0;  ; i++)
	{
		
		pool_add_worker(myprocess,&i);
		i++;
		pool_add_worker(myprocess,&i);
		i++;
		pool_add_worker(myprocess,&i);
		i++;
		pool_add_worker(myprocess,&i);
		sleep(1);
		if(i%8== 0)
		{
			sleep(10);
		}

		if(i%10 == 0)
		{
			sleep(20);
		}
	}

	sleep(5);
	printf("=======xiaohui========\n");
	pool_destroy();
    
//	free(workingnum);
	return 0;
}
Esempio n. 7
0
int main (int argc, char **argv)
{
    pool_init (2);
    int *workingnum = (int *) malloc (sizeof (int) * 10);
    int i;
    for (i = 0; i < 10; i++)
    {
        workingnum[i] = i;
        pool_add_worker(myprocess, &workingnum[i]);
    }
    sleep (15);
    pool_destroy ();
    free (workingnum);
    return 0;
}
Esempio n. 8
0
static void handle_jpeg_img_proc(const void *p, int size, void *arg)
{
    struct vid *v = arg;

    pthread_mutex_lock(&v->tran_frm_mutex);
    v->tran_frm.start = (void*)p;
    v->tran_frm.len   = size;
    v->tran_frm_index++;
    pthread_mutex_unlock(&v->tran_frm_mutex);

    if (v->view_frm.start == NULL) {
        v->view_frm.len = size;
        v->view_frm.start = malloc(size);
        memcpy(v->view_frm.start, p, size);
        pool_add_worker(v->srv->pool, decJpg2preview, v);
    }
}
Esempio n. 9
0
int main(int argc, char *argv[])
{
    pool_init(3);

    int *working_num = (int *) malloc(sizeof(int) * 5);
    int i = 0;
    for (; i < 5; i++)
    {
        working_num[i] = i;
        pool_add_worker(my_process, &working_num[i]);
    }

    sleep(5);
    pool_destory();
    free(working_num);
    return 0;
}