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

这么自己做网站电商网站平台有哪些

这么自己做网站,电商网站平台有哪些,怎么申请域名 制作网站,响应式网站测试目录 makefile Thread.hpp main.cc 以面向对象的方式造轮子 #ifndef _THREAD_HPP__ // 如果没有定义过 _THREAD_HPP__ #define _THREAD_HPP__ // 则定义 _THREAD_HPP__// 这里是头文件的实际内容(类、函数声明等)#endif // 结束条件…

目录

makefile

Thread.hpp

main.cc


以面向对象的方式造轮子

#ifndef _THREAD_HPP__  // 如果没有定义过 _THREAD_HPP__
#define _THREAD_HPP__  // 则定义 _THREAD_HPP__// 这里是头文件的实际内容(类、函数声明等)#endif                // 结束条件编译

makefile

bin=testThread
cc=g++
src=$(wildcard *.cc)
obj=$(src:.cc=.o)$(bin):$(obj)$(cc) -o $@ $^ -lpthread
%.o:%.cc$(cc) -c $< -std=c++17.PHONY:clean
clean:rm -f $(bin) $(obj)

Thread.hpp

#ifndef _THREAD_HPP__  // 如果没有定义过 _THREAD_HPP__
#define _THREAD_HPP__  // 则定义 _THREAD_HPP__
#include<iostream>
#include<string>
#include<pthread.h>
#include<functional>
#include <sys/types.h>
#include <unistd.h>namespace ThreadModule
{
using func_t =std::function<void()>;
static int number = 1;
enum class STATUS
{NEW,RUNNING,STOP};class Thread 
{// void* Route(void* args)   成员函数参数里有this指针 ,start(Route ,nullptr)编不过// {// }static void *Route(void* args)   //static没有传进来this指针 ,也就不能使用成员变量    _name 等等{Thread* t =static_cast< Thread* >(args);t->_status =STATUS::RUNNING;t->_func();return nullptr;}void EnableDetach(){_joinable =false;}public:Thread(func_t func) :_func(func),_status(STATUS::NEW),_joinable(true){_name ="Thread-"+std::to_string(number++);_pid =getpid();}bool Start(){if(_status != STATUS::RUNNING)//防止重复启动{int n =::pthread_create(&_tid ,nullptr, Route ,this );if(n !=0) return false;_status = STATUS::RUNNING;return true;}return false;}bool Stop(){if(_status == STATUS::RUNNING){int n= pthread_cancel(_tid);if(n!= 0) return false;_status = STATUS::STOP;return true;}return false;}void Detach(){EnableDetach();pthread_detach(_tid);}bool isjoinable(){return _joinable;}bool Join(){if( _joinable){int n =pthread_join(_tid ,nullptr);if(n != 0)return false;_status =STATUS::STOP;return true;}return false;}std::string Name(){return _name;}~Thread(){}
private:std::string _name;pthread_t _tid;pid_t _pid;STATUS _status;    //线程结束(stop了)不代表Thread对象结束,因此应该设计线程状态bool _joinable ;//是否分离 ,默认不是分离状态, truefunc_t _func;
};} #endif                // 结束条件编译

main.cc

#include"Thread.hpp"
#include<unordered_map>
#include<memory>#define NUM 10using thread_ptr_t = std::shared_ptr<ThreadModule::Thread>;//创建多线程
int main()
{// 先描述,在组织!std::unordered_map<std::string, thread_ptr_t> threads;// 如果我要创建多线程呢???for (int i = 0; i < NUM; i++){thread_ptr_t t = std::make_shared<ThreadModule::Thread>([](){while(true){std::cout << "hello world" << std::endl;sleep(1);}});threads[t->Name()] = t;}for(auto &thread:threads){thread.second->Start();}for(auto &thread:threads){thread.second->Join();}return 0;
}//创建线程
// int main()
// {
//     ThreadModule::Thread t([](){//         while(true)
//         {
//             std::cout<<"hello "<<std::endl;
//             sleep(1);
//         }
//     });
//     t.Start();
//     std::cout<<t.Name()<<"is running"<<std::endl;//     sleep(5);
//     t.Stop();
//     std::cout << "Stop thread : " << t.Name()<< std::endl;//     sleep(1);
//     t.Join();
//     std::cout << "Join thread : " << t.Name()<< std::endl;//     return 0;
// }

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

相关文章:

  • 网站建设模板 源码 特效百度广告开户流程
  • 哪个浏览器可以做网站站长素材免费下载
  • 网站建设要不要监理seo成功的案例和分析
  • 制作网站页面怎么做全网营销国际系统
  • 一个小程序商城需要多少钱吉林seo基础
  • wordpress退出维护模式江苏网站seo营销模板
  • 哈尔滨建设工程交易中心邹平县seo网页优化外包
  • 重装电脑后没有wordpress国内seo公司
  • 如何做直播做菜视频网站唐山seo推广公司
  • 廊坊市安次区建设局网站电商详情页模板免费下载
  • 专业网站建设哪里有优化措施最新回应
  • 如何让网站关键词搜录百度关键词快速排名方法
  • 做网站赚钱吗 怎么赚钱html简单网页代码
  • 怎么做淘宝链接网站学电脑培训班多少一个月
  • 通用cms网站百度推广公司电话
  • 桂林做网站建设的公司全网推广平台
  • 网站托管就业河南网络推广那家好
  • 福田做商城网站建设哪家公司靠谱免费下载百度软件
  • 北京做网站建设的公司电商运营培训班
  • 微信网站怎么做朝阳区seo技术
  • 大连手机自适应网站建设厦门百度广告开户
  • 郴州网站建设网站建设方案模板
  • 简述网站建设的五类成员windows优化大师是系统软件吗
  • 做视频网站的条件网站群发推广软件
  • 腾讯专门做数据标注的网站是怎么接游戏推广的业务
  • 设计素材网站都是有哪几个站长工具四叶草
  • 做网站原创要多少钱淘宝关键词排名怎么查询
  • 周口微网站制作百度友情链接
  • 微信营销怎么做武汉seo培训
  • 做设计值得收藏的图片网站今日国内新闻重大事件