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

网站后台发了文章看不到wordpress怎么编写用户中心

网站后台发了文章看不到,wordpress怎么编写用户中心,外贸网站都有哪些,怎样建设网赌网站实验名称#xff1a;经典同步问题#xff1a;生成者与消费者问题 相关知识 信号量 信号量是用来协调不同进程间的数据对象#xff0c;可用来保护共享资源#xff0c;也能用来实现进程间及同一进程不同线程间的进程同步。分为二值信号灯和计算信号灯两种类型。 进程与线…实验名称经典同步问题生成者与消费者问题 相关知识 信号量 信号量是用来协调不同进程间的数据对象可用来保护共享资源也能用来实现进程间及同一进程不同线程间的进程同步。分为二值信号灯和计算信号灯两种类型。 进程与线程原语的比较 线程创建 线程创建是通过函数 pthread_create(thread,attr,start_routine,arg)函数来实现的而该函数是通过Linux特有的系统调用clone来实现的。 格式 #includepthread.h int pthread_create(thread,attr,start_routine,arg);其中参数thread为线程标识符attr为线程属性设置start_routine为线程函数起始地址arg为传递给start_routine的参数。创建线程成功返回0否则返回错误号。 获得线程标识符 格式 #includepthread.h pthread_t pthread_self(void);说明返回调用的线程的标识符。每个线程都有自己的线程标识符以便在进程内区分线程标识符在pthread_create创建时产生。 线程等待 格式 #includepthread.h int pthread_join(thread,retval);说明该函数将调用它的线程阻塞一直等到被等待的线程结束为止当函数返回时被等待线程的资源被收回。thread为被等待的线程标识符retval为用户定义的指针存放被等待线程的返回值。 线程退出 格式 #includepthread.h void pthread_exit(retval); //终止调用线程retval为线程的返回值。int pthread_cancel(thread); //终止由参数thread指定的线程实验内容 使用多线程和信号量解决生产者/消费者问题有一个长度为N的缓冲池被生产者和消费者共同使用。只要缓冲池未满生产者就可以将消息送入缓冲池只要缓冲池不空消费者便可从缓冲池中取走一个消息。生产者向缓冲池放入消息的同时消费者不能操作缓冲池反之亦然。 pthread_join()将调用它的线程阻塞一直等到被等待的线程结束为止当函数返回时被等待线程的资源被收回。本实验中使用room_sem信号量来表示缓冲区可用空间product_sem信号量表示缓冲区中有无可用产品而mutex代表线程互斥信号量。 编写producer_consumer.c: #includestdio.h #includestdlib.h #includeunistd.h #includepthread.h #includesemaphore.h #includesys/types.h #define PRODUCER_NUM 5 #define CONSUMER_NUM 5 #define POOL_SIZE 11 int pool[POOL_SIZE]; //buffer int head0; //read pointer int rear0; //write pointer sem_t room_sem;//available room in buffer sem_t product_sem;//available products in buffer pthread_mutex_t mutex; void producer_fun(void*arg) {while(1){sleep(1);sem_wait(room_sem);pthread_mutex_lock(mutex);//producer write data to bufferpool[rear]1;rear(rear1)%POOL_SIZE;printf(producer %d write to pool\n,(int)arg);printf(pool size is %d\n,(rear-headPOOL_SIZE)%POOL_SIZE);pthread_mutex_unlock(mutex);sem_post(product_sem);} } void consumer_fun(void *arg) {while(1){int data;sleep(10);sem_wait(product_sem);pthread_mutex_lock(mutex);//consumer read data in bufferdatapool[head];head(head1)%POOL_SIZE;printf(consumer %d read from pool\n,(int)arg);printf(pool size is %d\n,(rear-headPOOL_SIZE)%POOL_SIZE);pthread_mutex_unlock(mutex);sem_post(room_sem);} } int main() {pthread_t producer_id[PRODUCER_NUM];pthread_t consumer_id[CONSUMER_NUM];pthread_mutex_init(mutex,NULL);int retsem_init(room_sem,0,POOL_SIZE-1);//initialize the signal room_semif(ret!0){printf(sem_init error\n);exit(0);}retsem_init(product_sem,0,0); //initialize the signal produc_semif(ret!0){printf(sem_init error\n);exit(0);}for(int i0;iPRODUCER_NUM;i){//create producer threadretpthread_create(producer_id[i],NULL,producer_fun,(void*)i);if(ret!0){printf(producer_id error\n);exit(0);}//create consumer threadretpthread_create(consumer_id[i],NULL,consumer_fun,(void*)i);if(ret!0){printf(consumer_id error\n);exit(0);}}for(int i0;iPRODUCER_NUM;i){pthread_join(producer_id[i],NULL);pthread_join(consumer_id[i],NULL);}exit(0); }编译时使用以下命令 gcc -o producer_consumer producer_consumer.c -lpthread 注编译选项要加上-lpthread因为pthread不是Linux默认库链接时需要使用静态库libpthread.a。
http://www.w-s-a.com/news/485546/

相关文章:

  • 做网站效果图是用ps还是ai泰安人才网最新招聘信息2022年
  • 免费建站网站一级大录像不卡在线看网页郑州网站关键
  • 做网站 然后百度推广哈尔滨建筑网
  • 章丘营销型网站建设网站测评必须做
  • 营销者网站怎么把网站黑了
  • 律师事务所手机网站校园网站设计
  • 网站案例展示分类网站响应速度优化
  • 风景网站的制作网站ip地址查询域名
  • 怎样看网站是谁做的马鞍山什么房产网站做的好
  • 西安推荐企业网站制作平台软装设计方案ppt
  • 网站静态页模板专业网站设计开发公司
  • 手机免费在线搭建网站短网址生成防红
  • 天津网站设计网站制作如何新建wordpress
  • 山东省建设备案网站审批国际新闻最新消息10条简短
  • 成都市建设网扬尘监控网站短域名转换
  • 怎么做手机网站潍坊建设银行网站
  • 做网站分什么软件品牌设计培训
  • 太原网站设计排名设计本装修效果图
  • 网站个人中心模板石家庄网站系统开发
  • 优秀的电子商务网站教育公司网站建设文案
  • 网站开发市场成本网站链接推广工具
  • 猪八戒做网站排名常州seo博客
  • wordpress 网站遭篡改如何优化公司的网站
  • 汉中公司做网站网站建设的风格设置
  • 网站建议怎么写怎么做网页连接
  • 站长工具seo综合查询下载安装软件平台搭建包括哪几个方面
  • 做网站怎么存放视频支付功能网站建设
  • 庆阳手机网站设计兰州网站的优化
  • 企业网站托管有必要吗项目管理资格证书
  • 检索类的网站建设个人博客网页模板图片