摘要: 线程之我见,有错误,请指正,谢谢线程的执行需要cpu资源,而cpu的利用时各个线程进行“轮询”即轮时间片,抛开优先级不说,一个线程如果执行的时候,分配给他的时间片到了,他就要交出cpu执行权,由其他等待cpu的线程来执行,(一个cpu一次只能执行一个线程)。而sleep()的作用是让当前执行cpu的线程挂起,交出cpu,让其他等待cpu的线程执行,测试程序: 1 #include<stdio.h> 2 #include<pthread.h> 3 #include<stdlib.h> 4 void *fun(void *p){ 5 int i=0; 6 for 阅读全文
posted @ 2013-04-09 12:32 九月光 阅读(8415) 评论(1) 推荐(0) 编辑
摘要: void的字面意思是“无类型”,向函数传递void参数,可等价理解为函数为无参数传递;void *则为“无类型指针”,void *可以指向任何类型的数据,如果一个函数参数为该种形式,说明调用方向该函数传递了一个指针,这个指针指向一个任何类型的参数。 其实这是泛型指针,也即无论返回值,还是参数可以通过类型转换为任何指针类型,并且 不会丢失信息。(void*也可以作为函数返回值,表示返回任何类型的值的指针) 阅读全文
posted @ 2013-04-09 10:18 九月光 阅读(792) 评论(0) 推荐(0) 编辑