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

专业网站设计制作费用建设网站找哪里

专业网站设计制作费用,建设网站找哪里,硬件开发工程师面试,一家专做有机蔬菜的网站这篇文章我们来讲一下线程。截止到目前,我们的代码都是在单线程上运行的,现在看起来没有什么问题,但是目前所有的计算机几乎都不只有一个逻辑线程,所以如果我们一直使用单线程运行,这样的话效率会很低。尤其是如果我们…

这篇文章我们来讲一下线程。截止到目前,我们的代码都是在单线程上运行的,现在看起来没有什么问题,但是目前所有的计算机几乎都不只有一个逻辑线程,所以如果我们一直使用单线程运行,这样的话效率会很低。尤其是如果我们运行一些繁重的工作,那么很有可能我们就需要计算机并行执行一些功能。

举个简单的例子,我们有一个等待接收用户指令的函数,那么在等待用户输入指令的过程当中,我们有可能希望程序执行一些其他事情,那么我们就需要有一条线程在等待用户,而另一条线程在执行其他事情。

#include<iostream>
#include<string>
#include<thread>void DoWork() {}int main() {std::thread worker(DoWork);worker.join();std::cin.get();
}

运行一下,会发现没有东西,但是也没啥问题。我们的std::thread worker函数可以接受一个函数指针,此时我们就开辟了另一个线程,而这个线程上完成的就是函数指针指向的函数里面的任务。运行到这段代码之后,我们的worker线程就开始工作了。而worker.join是个什么意思呢?它的含义是,我们会在主线程上做一个阻塞,让主线程暂时不会继续运行,一直等到我们的worker线程运行完毕,然后才会接着运行。我们可以举一个例子来看看。比如我们在主线程和worker线程上同时进行一些打印操作,并刻意的使得worker线程的运行速度比较慢,来看看会发生什么。

#include<iostream>
#include<string>
#include<thread>void DoWork() {using namespace std::literals::chrono_literals;std::this_thread::sleep_for(1s);std::cout << "Worker thread is finished!" << std::endl;
}int main() {std::thread worker(DoWork);std::cout << "Now we are on the main thread" << std::endl;worker.join();std::cin.get();
}

然后我们看一下结果

可以看到,我们先打印了主线程的话,然后打印了worker线程的。那么如果我们在join函数之后打印主线程会发生什么?

int main() {std::thread worker(DoWork);worker.join();std::cout << "Now we are on the main thread" << std::endl;std::cin.get();
}

我们现在这样修改main函数,然后我们看一下结果

可以发现因为join函数的存在,导致我们不得不在主线程等待分支线程结束,然后我们才能继续我们主线程的打印。

最后,我们还可以使用std::this_thread::get_id()来获得当前线程的线程id。

可以看到两者的值是不同的,所以分线程和主线程确实是两条不同的线程。

好了以上就是有关于线程知识的初步介绍,希望大家能够喜欢!

http://www.dtcms.com/wzjs/537186.html

相关文章:

  • 代理加盟微信网站建设网站建设合同约定三年后
  • 杭州企业网站建站模板济南shuncheng科技 网站建设
  • 深圳市建设工程交易服务中心网站我做的网站不知道网站怎么办
  • 做网站用的什么软件网站设计语言
  • wordpress 多站长沙制作网页联系方式
  • 网站后台管理系统下载阿里云企业网站怎么建设
  • 南昌网站建设有限公司汽车门户网站源码
  • 荥阳市城乡规划和建设局网站网站建设分析书引言
  • 如何让移动网站更优秀广州联雅做的网站怎么样
  • win7 iis配置asp.net网站关键词推广优化排名如何
  • 迪拜哪个网站是做网站的建行网址
  • 1.2婚庆网站建设的目的网站建设价格需要多少钱
  • 海丰县建设局官方网站WordPress多栏主题
  • 重庆网站排名优化公司装修是全包划算还是半包划算
  • 网监备案网站更换域名网站项目策划书实例
  • 怎么在阿里巴巴做网站广州住房公积金建设银行预约网站
  • 广州室内装修设计廊坊seo关键词优化
  • 长沙网站制作哪app开发公司大概多少钱
  • 网站关键词分隔符谷歌浏览器下载官网
  • 珠海营销型网站建设公司网络广告策划书论文
  • 关于做书的网站phpstudy 安装wordpress
  • 昆明网站空间莱芜十大首富
  • 石家庄建网站携程网网站推广方式
  • 有哪些网站软件可以做网站的原型低调与华丽wordpress模
  • 深圳网站建设的公司手机端怎么刷排名
  • 柳州做网站制作的公司有哪些网站建设的毕设报告
  • 做网站如何通过流量赚钱吗网站网站建设策划书
  • 河间市做网站怎么关注网站 在手机上
  • wordpress付费插件网站外贸建站wordpress
  • 郑州网站设计公司排名上海si设计公司