当前位置: 首页 > news >正文

做影视网站用什么网盘最好国外招工信息最新招聘信息

做影视网站用什么网盘最好,国外招工信息最新招聘信息,哈尔滨网站建设托管公司,四川省建设人才网官网进程是资源分配的基本单位 线程是调度的基本单位 笼统来说#xff0c;线程有以下优点#xff1a; 创建一个新线程的代价要比创建一个新进程小得多 与进程之间的切换相比#xff0c;线程之间的切换需要操作系统做的工作要少很多 线程占用的资源要比进程少很多 能充分利用多… 进程是资源分配的基本单位 线程是调度的基本单位   笼统来说线程有以下优点 创建一个新线程的代价要比创建一个新进程小得多 与进程之间的切换相比线程之间的切换需要操作系统做的工作要少很多 线程占用的资源要比进程少很多 能充分利用多处理器的可并行数量 在等待慢速I/O操作结束的同时程序可执行其他的计算任务 计算密集型应用为了能在多处理器系统上运行将计算分解到多个线程中实现 I/O密集型应用为了提高性能将I/O操作重叠。线程可以同时等待不同的I/O操作。 线程的缺点也不少 性能损失 一个很少被外部事件阻塞的计算密集型线程往往无法与共它线程共享同一个处理器。如果计算密集型 线程的数量比可用的处理器多那么可能会有较大的性能损失这里的性能损失指的是增加了额外的 同步和调度开销而可用的资源不变。 健壮性降低 编写多线程需要更全面更深入的考虑在一个多线程程序里因时间分配上的细微偏差或者因共享了不该共享的变量而造成不良影响的可能性是很大的换句话说线程之间是缺乏保护的。 缺乏访问控制 进程是访问控制的基本粒度在一个线程中调用某些 OS 函数会对整个进程造成影响。 编程难度提高 编写与调试一个多线程程序比单线程程序困难得多 所谓健壮性就是鲁棒性在多线程中任何一个线程出现崩溃的情况整个进程都跟着玩完。 而多进程代码就不会因为进程有独立性。 进程的多个线程共享同一地址空间 , 因此 Text Segment代码段 、 Data Segment数据区 都是共享的 , 如果定义一个函数 , 在各线程 中都可以调用, 如果定义一个全局变量 , 在各线程中都可以访问到。 除此之外 各线程还共享以下进程资源和环境 : 文件描述符表 每种信号的处理方式(SIG_ IGN、SIG_ DFL或者自定义的信号处理函数) 当前工作目录 用户id和组id 线程共享进程数据但也拥有自己的一部分数据 : 线程 ID 一组寄存器 栈 errno 信号屏蔽字 调度优先级 每个线程都要有自己的独立的硬件上下文也要有自己独立的栈结构。 linux没有真线程只有轻量化进程所以Linux OS只会提供轻量化进程的系统调用不会直接提供线程创建的接口。  操作系统和用户之间有一层软件层对上提供线程的相关控制接口。 然后在软件层中将线程对应成LWP。 它并不属于操作系统而是开发者封装的一个库。叫做 pthread原生线程库。 任何一款Linux系统都有这个库。 我们可以对mythread所回调的函数进行传参。 #includeiostream #includestring #includepthread.h #includeunistd.h using namespace std; void *ThreadRoutine(void*args) {string stringname(const char*)args;while(true){coutI am new Thread threadnamestringnameendl;sleep(1);}} int main() {pthread_t tid;pthread_create(tid,nullptr,ThreadRoutine,(void*)thread 1);while(true){coutI am main Threadendl;sleep(1);} } 这个参数传什么都行。  可以像我一样直接传一个类。 #includeiostream #includestring #includefunctional #includepthread.h #includeunistd.h #includetime.h using namespace std; using func_tfunctionvoid(); class ThreadData {public:ThreadData(const stringname,const uint64_tctime,func_t f):threadname(name),createtime(ctime),func(f){}public:string threadname;uint64_t createtime;func_t func; }; void *ThreadRoutine(void*args) {ThreadData*tdstatic_castThreadData*(args);while(true){coutI am new Thread td-threadname td-createtime endl;td-func();sleep(1);}} void print() {cout我是线程执行的大任务的一部分endl; } int main() {pthread_t tid;ThreadData*tdnew ThreadData(Thread 1,uint64_t(time(nullptr)),print);pthread_create(tid,nullptr,ThreadRoutine,td);while(true){coutI am main Threadendl;sleep(1);} } 也可以像下面这样多线程传参。 #includeiostream #includestring #includefunctional #includevector #includepthread.h #includeunistd.h #includetime.h using namespace std; using func_tfunctionvoid(); const int threadnum5; class ThreadData {public:ThreadData(const stringname,const uint64_tctime,func_t f):threadname(name),createtime(ctime),func(f){}public:string threadname;uint64_t createtime;func_t func; }; void *ThreadRoutine(void*args) {ThreadData*tdstatic_castThreadData*(args);while(true){coutI am new Thread td-threadname td-createtime endl;td-func();sleep(1);}} void print() {cout我是线程执行的大任务的一部分endl; } int main() {for(int i0;ithreadnum;i){pthread_t tid;char threadname[64];snprintf(threadname,sizeof threadname,%s-%d,thread,i);ThreadData*tdnew ThreadData(threadname,uint64_t(time(nullptr)),print);pthread_create(tid,nullptr,ThreadRoutine,td);}while(true){coutI am main Threadendl;sleep(1);} } 上面提到多线程代码健壮性低。 一个线程出错全都会崩溃。
http://www.hkea.cn/news/14584217/

相关文章:

  • 做室内效果图的网站怎样建立公司网页
  • 重庆免费做网站珠海市企业网站制作品牌
  • 爱站关键词挖掘old阿里关键词排名查询
  • 怎么看网站做没做备案上海网站设计排名
  • 和网站用户体验相关的文章网站建设服务费记账分录
  • 网站发布到ftp短剧分销系统开发
  • 秀米h5页面怎么制作seo技术培训教程视频
  • 网站备案查询 whois江苏南京建设工程信息网站
  • 罗店网站建设我想做互联网怎么做
  • 北票网站建设免费做片头的网站
  • 网站建设业务怎么做中国建设银行信用卡中心官网
  • 网站设计大概收费范围做营销网站那个好
  • 电商网站建设与运维需要的软件中国国际新闻
  • 超级工程网站建设2016响应式网站模板
  • 德州做网站dzqifan零售电商平台有哪些
  • 浙江网站搭建建立网站站点的目的
  • 泉州网站建设-泉州网站建设设计师个人作品集模板
  • 厦门首屈一指的网站建设公司产品设计在线
  • 链接网站开发需要多少钱网站转化微信小程序
  • 北京网站建设公司华网天下西数 网站建设
  • 网站推广营销的意义企业建站系统插件介绍
  • 江苏省建设监理协会网站天猫商城
  • 茂南手机网站建设公司的网页设计培训班
  • 自己做服装搭配的网站哈尔滨优化网站方法
  • 信誉好的邯郸网站建设品牌网站运营
  • 建设数据库搜索网站网站推广的目的
  • 做设计需要素材的常用网站有哪些网站运营需要多少钱
  • 搭建网站要什么配置wordpress忘记admin
  • 定制网站网络程序开发
  • c2c网站支付方式seo蒙牛伊利企业网站专业性诊断