论文写作网论文写作网

论文写作网电话
论文写作网免费咨询电话
18132681470

到底需不需要用到多线论文范文程编程需要考虑很多因素

毕业论文库:新闻传播 时间:2016-12-28 点击:

1.3.3 释放互斥工具
HANDLE g_hEvent;//全局变量。
开拓人员在举办多线程编程时,为了使得各个线程可以或许协同事情,必需要用到线程同步技能。下面将针对临界区、事件及互斥工具这几种windows线程的同步技能举办先容。
首先,多线程的利益如下。
其次,多线程的缺点如下。
CRITICAL_SECTION g_s;
3 结论
2)资源操作率高。
HANDLE g_hMutex;//全局变量
SetEvent(g_hEvent);//配置事件状态为受信状态
1 多线程的同步技能
因为电脑的事情道理是轮转时间片举办操纵,而操纵系统中分派时间片的操纵是以线程为准的,比拟实现同样成果的多线程措施和单线程措施,多线程措施被分派的时间片就比单线程措施多了,从而cpu在它上面耗费的时间就多了,这就充实的操作了cpu资源。好比上传下载文件,当用户上传第一个文件时,cpu会期待第一个文件上传完成,假如接下来继承上传其他文件,cpu在上传文件的同时就可以对已上传完成的文件举办下载了,因为在执行文件上传时,cpu尚有许多空闲的时间,可以给下载线程分派必然的时间片来执行下载,从而提高了cpu资源的操作率。
事件工具是一种抽象的工具,有受信和未受信两种状态,一般和WaitForSingleObject函数一起利用,该函数按照事件的受信状态来判定是否让线程会见该共享数据。操作事件工具来保持线程同步的要领如下。
ReleaseMutex(g_hMutex);
1)提高界面措施响应速度。
有一些多线程应用措施比单线程的应用措施要简朴,可是一般环境下多线程的设计照旧更巨大一点,尤其当多个线程共享历程数据的时候,需要用到同步技能,处理惩罚不妥就有大概造成线程的死锁。
createEvent函数可按照参数传入的差异,来抉择是否需要手动重置事件工具,同时也可以抉择事件建设的初始状态,即受信照旧未受信。
2)频繁切换上下文的开销。
1)界说临界区工具,该工具是全局变量。
3)资源耗损的增加。
当事件工具是受信状态时,则该线程可以会见共享资源。
g_hEvent = CreateEvent(NULL,FALSE,FALSE,FALSE,NULL);
Cpu是通过度派时间片来节制线程的瓜代执行的,当一个线程的时间片被用完时,cpu就要筹备从该线程切换到下一个被分派到时间片的线程,此时就需要cpu记录当前线程的相关信息,如线程的相关数据,措施的地点等,这些操纵完成后,cpu才可以载入另一个线程的相关数据开始执行。由此可知,假如措施是多线程措施,由于线程数量较多,系统将会耗费大量的时间来处理惩罚线程的频繁切换,这就大概低落措施的执行效率。
1.3.2 在线程函数中利用WaitForSingleObject
1.3.1 建设互斥工具并生存工具句柄
1.2 事件工具
1)设计巨大。
1.3 互斥内核工具
任何对象都有它的两面性,同样多线程也是一把双刃剑,有它的利益也有它的缺点。
1)建设事件内核工具并生存事件工具的句柄。
EnterCriticalSection(&g_s);
WaitForSingleObject(g_hEvent,INFINITE);
g_hMutex = CreateMutex(NULL,FALSE,
InitializeCriticalSection(&g_s);
占用。
LeaveCriticalSection(&g_s);
ReleaseEvent(g_Event);//配置事件状态为无信号状态
3)进入临界区。
WaitForSingleObject(g_hEvent,INFINITE);
3)利用WaitForSingleObject函数来节制线程对共享资源的会见。
互斥工具也是一种内核工具,其与前面两种保持同步的要领雷同,操作该技能举办线程同步的要领如下。
2)变动事件工具的状态。
临界区其实就是一段代码,它的浸染就是节制共享资源不被同时会见,好比一个线程进入临界区会见共享资源后,其他想会见该共享资源的线程将被拒绝会见,处于挂起状态,直惠临界区释放后,其他线程才可以继承抢占。操作临界区工具节制线程同步的要领如下。
1.1 临界区工具
当一个措施既要执行耗时的任务,又要更新窗口及接管相关界面操纵时,如云存储视图库的客户端界面措施,假如该措施是单线程措施,则会导致界面的卡死,从用户的角度来说,这个应用措施就像处于无响应状态一样。假如措施是多线程措施,可以把耗时任务,好比视频的点播,文件的上传下载等通报给靠山线程,当靠山线程在执行这些成果的时候,主线程就可以实时的处理惩罚用户对界面的操纵请求,从用户的体验感上来讲,措施的响应速度就比单线程要快的多。
综上可知,多线程的利用有利有弊,在软件开拓中,到底需不需要用到多线程编程需要思量许多因素,也需要团结措施成果的实际环境。一般环境下,多线程技能在项目开拓中照旧获得了遍及应用,因为在大大都项目开拓中,多线程的优势照旧明明大于劣势的。
多线程措施在充实操作cpu资源的环境下,也会加大对资源的耗损量,因为每个线程都要有本身的一个仓库,这就加大了对内存的利用,同时措施还需要一些资源来打点线程,这些都导致了资源耗损的增加。
NULL);//第二个参数一般配置为false,暗示该工具没有被任何线程所
4)释放临界区。
2 多线程的优缺点
2)初始化临界区工具。
上一篇: 1.3 创新节目形态 台网联合制作出的硕士论文毕业节目在一定程度上突破了电视节目的传统节目形态
下一篇:实时数据库系统会考论文毕业察不同数据的访问频率

| 新闻传播推荐

更多
到底需不需要用到多线论文范文程编程需要考虑很多因素-新闻传播:到底需不需要用到多线论文范文程编程需要考虑很多因素文章链接:/xinwenchuanbo/16273.html

| 论文创作推荐资讯

更多 毕业论文推荐资讯