linux编程_Linux_教学视频大全

上传人:油条 文档编号:20267899 上传时间:2017-11-21 格式:DOCX 页数:7 大小:160.58KB
返回 下载 相关 举报
linux编程_Linux_教学视频大全_第1页
第1页 / 共7页
linux编程_Linux_教学视频大全_第2页
第2页 / 共7页
linux编程_Linux_教学视频大全_第3页
第3页 / 共7页
linux编程_Linux_教学视频大全_第4页
第4页 / 共7页
linux编程_Linux_教学视频大全_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《linux编程_Linux_教学视频大全》由会员分享,可在线阅读,更多相关《linux编程_Linux_教学视频大全(7页珍藏版)》请在金锄头文库上搜索。

1、千锋教育 Linux视频教程 编程_Linux_教学视频大全想知道 Linux 编程培训哪家好 ?需要你多看一些基础的视频来了解一下, 千锋最新 inux 入门基础视频免费下载免费地址:Linux 视频基础课程:http:/ Linux 编程吧!Linux 下的网络编程指的是 socket 套接字编程,入门比较简单。在学校里学过一些皮毛,平时就是自学玩,没有见识过真正的 socket 编程大程序,比较遗憾。总感觉每次看的时候都有收获,但是每次看完了之后,过段时间不看,重新拾起这些知识的时候又要从头开始,所以,在这里做个笔记也算是做个模板,以后可以直接从某一个阶段开始接着玩而说到 socket

2、 就不得不提到线程线程间通信之互斥锁线程互斥锁主要的功能是在一段时间内,只允许一个线程对一段代码或者资源进行访问的机制。当有一个线程获得互斥锁后,其他线程如果想获得互斥锁就会被阻塞,直到占有互斥锁的线程释放互斥锁为止。线程的互斥主要包含的函数有如下几个:int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr);int pthread_mutex_lock(pthread_mutex_t *mutex);千锋教育 Linux视频教程 pthread_mutex_trylock(pth

3、read_mutex_t *mutex);int pthread_mutex_unlock(pthread_mutex_t *mutex);int pthread_mutex_destory(pthread_mutex_t *mutex);功能介绍:pthread_mutex_init 函数主要的功能是初始化一个互斥锁,并且设置该互斥锁的属性;pthread_mutex_lock 主要的功能是给互斥锁上锁,如果一个线程给互斥锁上锁之后,其他线程想获得该锁的使用权,必须要阻塞等待,直到占有互斥锁的线程释放该锁;函数是 pthread_mutex_lock 函数的非阻塞版本。如果 mutex 参数

4、所指定的互斥锁已经被锁定的话,调用pthread_mutex_trylock 函数不会阻塞当前线程,而是立即返回一个值来描述互斥锁的状况;pthread_mutex_unlock 给互斥锁解锁,线程调用该函数之后会释放掉已经上锁的互斥锁;pthread_mutex_destory 是 init 创建的互斥锁释放掉。参数说明:pthread_mutex_t 是互斥锁机制内核私有的数据结构,用于实现互斥锁机制必不可少的元素。上述函数已经很好的诠释了如何使用该参数。pthread_mutexattr_t 是用来描述线程互斥锁属性的结构体,初始化时,如果属性参数设置为 NULL 的话,则表示使用默认设

5、置。个人感觉互斥锁就是信号量的值为 1 时候的一种特殊情况,只是给互斥锁千锋教育 Linux视频教程 lock 相当于信号量中的wait,而 unlock 相当于 post 操作。获取互斥锁并且 lock 上锁之后,只能通过 unlock 解锁才可以重新获取互斥锁,互斥锁主要的功能就是对线程资源进行保护,同一个时间只有一个线程可以获得互斥锁,对资源进行使用,只有互斥锁被释放,其他的线程才可以重新获得互斥锁。不想信号量一样,可以通过设置信号量的值来实现多个线程可以同时操作使用线程资源。下面是一个互斥锁的实例。1 #include 2 #include 3 #include 4 5 pthrea

6、d_mutex_t mutex;6 int mutexCounter;7 8 void *pthread_mutex_LOCK(void *argv)9 10 while(1)千锋教育 Linux视频教程 12 pthread_mutex_lock(&mutex);13 mutexCounter+;14 printf(This is in phtread mutex LOCK function! Counter = %dn, mutexCounter);15 pthread_mutex_unlock(&mutex);16 sleep(1);17 18 pthread_exit(exit wa

7、it pthread!n);19 20 21 void *pthread_mutex_UNLOCK(void *argv)22 23 while(1)24 25 pthread_mutex_lock(&mutex);26 mutexCounter-;千锋教育 Linux视频教程 printf(This is in phtread mutex UNLOCK function! Counter = %dn, mutexCounter);28 pthread_mutex_unlock(&mutex);29 sleep(1);30 31 pthread_exit(exit post pthread!

8、);32 33 34 int main(void)35 36 pthread_t pt2;37 void *ret;38 39 pthread_mutex_init(&mutex, NULL);40 pthread_create(&pt0, NULL, &pthread_mutex_LOCK, NULL);41 pthread_create(&pt1, NULL, &pthread_mutex_UNLOCK, NULL);42 pthread_join(pt0, &ret);千锋教育 Linux视频教程 printf(return value %s, ret);44 pthread_join

9、(pt1, &ret);45 printf(return value %s, ret);46 47 return 0;48 上面代码的运行结果如下所示,按逻辑来说应该是一个 LOCK 函数,一个UNLOCK 函数交替运行,但实际的运行结果却是如下图所示,主要的原因是在运行完两个函数之后,都处于 sleep 等待状态,因为处理器运行速度太快,两个函数完成等待的时间相同,这时候线程的调度就不是按照原来的逻辑了。所以在线程函数处理内容较少时,要注意时序对对编程逻辑的影响。以上就是千锋 Linux 学院的学习笔记。另附心得体会一篇:千锋教育 Linux视频教程 Linux 或者是转行学习 Linux,参加培训会保证你在单位时间内学到更多,毕竟随着 Linux 行业的快速发展,未来必将会面临更多的竞争,所以只有不遗余力的把自己打造成一把利剑,从专业度到职业素质,只有比别人更突出和优秀,才能够在这个相互选择的世界当中拥有更多的选择权利。现在想要学习 Linux 技术,只有通过参加培训才可以保证快速掌握所学知识和技能,所以培训是比较靠谱的。学习 Linux 编程哪家好?千锋教育的 Linux 课程专注于当前热门的 Linux相关技术,就 Linux 而言,内容全面而细致的。 Linux 教学团队由众多名师打造,拥有多年教学经验和高超的 Linux 授课技巧和实战视野,让你理论和实战兼得。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号