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

网站的分页效果怎么做制作网页的流程

网站的分页效果怎么做,制作网页的流程,b2b网站大全 黄页大全,企业网站做静态网站还是临界区 每个线程都有自己的栈,而局部变量是存在在栈中的,这就意味着每个线程都有一份自己的”局部变量“,如果线程仅仅只是使用自己的”局部变量“那么就不会有线程安全问题,那如果多个线程使用一个全局变量呢? 我们用…

临界区


每个线程都有自己的栈,而局部变量是存在在栈中的,这就意味着每个线程都有一份自己的”局部变量“,如果线程仅仅只是使用自己的”局部变量“那么就不会有线程安全问题,那如果多个线程使用一个全局变量呢?

我们用一个多线程卖票问题来看下全局变量下的线程安全问题

#include<iostream>
#include<windows.h>using namespace std;int g_num = 1000;DWORD WINAPI ThreadProcOne(LPVOID lpParameter) {while (g_num > 0) {cout << "线程1正在卖票,还剩下" << g_num << "张票\n";g_num--;cout << "线程1买出一张,还剩下" << g_num << "张票\n";}return 0;
}DWORD WINAPI ThreadProcTwo(LPVOID lpParameter) {while (g_num > 0) {cout << "线程2正在卖票,还剩下" << g_num << "张票\n";g_num--;cout << "线程2买出一张,还剩下" << g_num << "张票\n";}return 0;
}int main()
{HANDLE hTread[2];hTread[0] = CreateThread(NULL, 0, ThreadProcOne, NULL, 0, NULL);hTread[1] = CreateThread(NULL, 0, ThreadProcTwo, NULL, 0, NULL);// 等待所有线程结束WaitForMultipleObjects(2, hTread, TRUE, INFINITE);return 0;}

在这里插入图片描述
会出现线程安全问题,同一张票被两个人同时买到了,或者是多卖了一张票

解决思路

使用临界资源 (多个线程其中一个线程在访问全局变量时,其他线程不得访问)

  1. 创建全局变量
    • CRITICAL_SECTION cs;
  2. 初始化全局变量
    • InitializeCriticalSection(&cs);
  3. 实现临界区
    • EnterCriticalSection(&cs);
    • LeaveCriticalSection(&cs); // 使用临界资源

使用临界资源修改后的代码

#include<iostream>
#include<windows.h>using namespace std;int g_num = 1000;
// 创建临界区
CRITICAL_SECTION cs;DWORD WINAPI ThreadProcOne(LPVOID lpParameter) {EnterCriticalSection(&cs);while (g_num > 0) {cout << "线程1正在卖票,还剩下" << g_num << "张票\n";g_num--;cout << "线程1买出一张,还剩下" << g_num << "张票\n";}LeaveCriticalSection(&cs);return 0;
}DWORD WINAPI ThreadProcTwo(LPVOID lpParameter) {EnterCriticalSection(&cs);while (g_num > 0) {cout << "线程2正在卖票,还剩下" << g_num << "张票\n";g_num--;cout << "线程2买出一张,还剩下" << g_num << "张票\n";}LeaveCriticalSection(&cs);return 0;
}int main()
{HANDLE hTread[2];// 初始化临界区InitializeCriticalSection(&cs);hTread[0] = CreateThread(NULL, 0, ThreadProcOne, NULL, 0, NULL);hTread[1] = CreateThread(NULL, 0, ThreadProcTwo, NULL, 0, NULL);// 等待所有线程结束WaitForMultipleObjects(2, hTread, TRUE, INFINITE);return 0;}

现在的代码就不会出现线程安全的问题了

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

相关文章:

  • 小程序设计软件国外seo比较好的博客网站
  • nian.so是国外还是国内网站最佳磁力搜索引擎
  • 用dw做网站的空格怎么打培训机构连锁加盟
  • 网站内页怎么做关于友情链接说法正确的是
  • 申请网站到哪里百度一下首页网页
  • 网站的数据运营怎么做app注册推广平台
  • 网站网络营销方案济南网站建设老威
  • asp黑网站源码旺道seo优化软件
  • 手机网站开发模拟手机seo推广价格
  • 深圳市南山网站建设谷歌seo是什么职业
  • 有哪些做特卖的网站广告联盟app下载官网
  • 初中校园网站建设制度百度推广登录首页网址
  • 网站备案流程慢陕西百度代理公司
  • 五大门户网站seo软件工具
  • 中国网站开发的前景西安百度推广怎么做
  • 我市精神文明建设的门户网站是学电商哪个培训学校好
  • 哈尔滨专业做网站公司域名批量查询注册
  • 网站进度条他妈到底怎么做网络广告推广方式
  • 邢台地区网站建设独立网站推广线上推广
  • 专业建设规划方案模板宁波优化seo是什么
  • ps 做ui比较好的网站有哪些经典软文文案
  • 做字幕网站有哪些山东济南seo整站优化费用
  • wordpress做下载型网站seo综合诊断工具
  • seo产品推广北京seo优化多少钱
  • 刚做的网站怎么搜索不出来的创建网站免费注册
  • 360免费建站为什么注册不了色盲怎么治疗
  • 环保网站怎么做网络营销专业学什么
  • 商城网站开发价格石家庄关键词优化平台
  • 杭州网站建设培训班李江seo
  • 网站发帖做业务网站下载免费软件