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

企业管理软件a6seo快速排名软件品牌

企业管理软件a6,seo快速排名软件品牌,吕梁网站开发,有没有大人和小孩做的网站1.什么是单进程 ,什么是多进程 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由单个或多个线程所组成的。 1.1 像apache nginx 这类 服务器中间件就是多进程的软件 &#xff0…

1.什么是单进程 ,什么是多进程

当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由单个或多个线程所组成的。

1.1  像apache  nginx 这类 服务器中间件就是多进程的软件 , cpu会使用多个进程完成用户的操作请求。

>> ps aux | grep httpd
apache   18352  0.0  4.4 1833072 84584 ?       Sl   03:27   0:00 /usr/local/apache/bin/httpd -k start
apache   18353  0.0  4.3 1837212 82128 ?       Sl   03:27   0:00 /usr/local/apache/bin/httpd -k start
apache   22655  0.0  1.5 777480 29676 ?        Ss   Aug20   1:31 /usr/local/apache/bin/httpd -k start
apache   23640  0.0  6.2 1839004 117148 ?      Sl   14:07   0:00 /usr/local/apache/bin/httpd -k start
apache   24321  0.1  7.1 1838872 135012 ?      Sl   15:39   0:00 /usr/local/apache/bin/httpd -k start

1.2 像 redis ,lua这类软件就是单进程的 ,无论再多的操作请求 ,cpu只会生成一个进程来处理事情。

>> ps aux | grep redis
root     22931  0.1  0.0 140916  1472 ?        Ssl  Aug20  27:40 ./redis-server *:88888

2. 单线程  和 多线程怎么理解

线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。

2.1 什么是多线程?

多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。

2.2 多线程的好处和坏处

好处:可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。

坏处:当然多线程也有坏处,因为线程也是程序,所以线程需要占用内存,线程越多占用内存也越多;多线程需要协调和管理,所以需要CPU时间跟踪线程;线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题;线程太多会导致控制太复杂,最终可能造成很多Bug;

2.3 单线程 和 多线程的区别

生活举例

你早上上班,正要打卡的时候,手机响了。。你如果先接了电话,等接完了,再打卡,就是单线程。

如果你一手接电话,一手打卡。就是多线程。

2件事的结果是一样的。。你接了电话且打了卡。

3. lua+redis为什么能解决高并发超卖 ,应用场景

        $REDIS_REMOTE_HT_KEY         = "product_%s";     //共享信息key$REDIS_REMOTE_TOTAL_COUNT    = "total_count";    //商品总库存$REDIS_REMOTE_USE_COUNT      = "used_count";     //已售库存$script = <<<eoflocal key = KEYS[1]local field1 = KEYS[2]local field2 = KEYS[3]local field1_val = redis.call('hget', key, field1)local field1_val = tonumber(field1_val)local field2_val = redis.call('hget', key, field2)local field2_val = tonumber(field2_val)if(field1_val>field2_val) thenreturn redis.call('HINCRBY', key, field2,1)endreturn 0
eof;$objRedis = new \Redis();$objRedis->connect('127.0.0.1',6379);$objRedis->auth('1234');$r = $objRedis->eval($script,array($REDIS_REMOTE_HT_KEY,$REDIS_REMOTE_TOTAL_COUNT,$REDIS_REMOTE_USE_COUNT),3);if($r==0){echo '商品已经买完了哦...';...}
        

上面的是lua+redis防止超卖的 php 代码片段 , 我们预先在服务器上设置了 商品总库存 total_count 为 100

./ab  -n 300 -c 300 'http://127.0.0.1/'

测试300个并发。可以看到最终 已售库存 used_count ,刚好是100 ,并没有出现超卖的现象

为什么lua+redis 能解决 这种超卖现象

1. 原子操作。Redis会将整个脚本作为一个整体执行,中间不会被其他请求插入。因此在脚本运行过程中无需担心会出现竞态条件,无需使用事务。

2. 复用。客户端发送的脚本会永久存在redis中,这样其他客户端可以复用这一脚本,而不需要使用代码完成相同的逻辑。

4. lua的一些语法基础

4.1 hello world

print("Hello World!")

不用分号 .

4.2 注释

--两个减号是单行注释:--[[多行注释多行注释--]]

4.3 变量

Lua 变量有三种类型:全局变量、局部变量、表中的域。

Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。

局部变量的作用域为从声明位置开始到所在语句块结束。

变量的默认值均为 nil。

a = 5               -- 全局变量
local b = 5         -- 局部变量function joke()c = 5           -- 全局变量local d = 6     -- 局部变量
endjoke()
print(c,d)          --> 5 nil

这点和php不大一样,变量C在 function里 ,就是局部的 。 第10行的 print(c,d) 是读取不大的

4.4 循环

a=10
while( a < 20 )
doprint("a 的值为:", a)a = a+1
end

4.5 控制

要注意的是Lua中 0 为 true

--[ 定义变量 --]
a = 10;--[ 使用 if 语句 --]
if( a < 20 )
then--[ if 条件为 true 时打印以下信息 --]print("a 小于 20" );
end
print("a 的值为:", a);

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

相关文章:

  • 2018年靖边建设项目招投标网站广西seo经理
  • wordpress 安装 主题seo怎么做新手入门
  • 室内设计方案讲解思路网店搜索引擎优化的方法
  • 做网站的必备软件百度一下了你就知道官网
  • 武汉建设信息网站官网昆山seo网站优化软件
  • 大兴区建设委员会网站网络舆情处置的五个步骤
  • 宜昌做网站公司有哪些方法广告联盟推广
  • 做网站显示不同字体中国大数据平台官网
  • 小说网站快速做排名如何自己编写网站
  • 网站建设用什么软件如何做好口碑营销
  • 龙口有没有做网站的网站定制的公司
  • 形象墙logo墙设计图比较好的网络优化公司
  • wordpress浏览器插件seo网络推广公司排名
  • 杭州做网站百度商品推广平台
  • 江苏省句容建设局网站seo搜索优化专员
  • 网站开发实践研究报告网络推广100种方式
  • 鞍山晟宇网站建设千锋教育前端学费多少
  • 外贸网站怎么做谷歌搜索百度推广app下载安卓版
  • 网站建设 话术如何在百度提交自己的网站
  • ui做套网站多少钱爱站网关键词查询
  • wordpress 改地址无锡优化网站排名
  • 微网站 具有哪方面的优势整合营销策略
  • 做网站的公司都缴什么税金竞价排名的服务模式是
  • 3g网站制作百度一下你就知道手机版官网
  • 网络公司网站绪论竞价托管优化公司
  • 做网站 成都域名注册局
  • 做网站logo用啥软件域名服务器ip地址查询
  • 普宁17网站一起做网店seoaoo
  • 暗网网站市场调研方案怎么写
  • 桂林尚品网络做的网站好不好谷歌浏览器下载手机版最新版