首页 > 其他 > 详细

记录下并发超发的问题

时间:2021-08-20 11:40:41      阅读:3      评论:0      收藏:0      [点我收藏+]
  • laravel代码
      //简单判断库存
        $users = Users::query()->where(‘id‘, 1)->first();
        if ($users[‘count‘] <= 0) {
            Log::info("库存不足");
            return "库存不足";
        }
        Users::query()->where(‘id‘, 1)->decrement(‘count‘, 1);
  • go协程并发测试
package main

import (
	"net/http"
	"sync"
)

func main() {
	wait := sync.WaitGroup{} //并发锁
	for i := 0; i < 180; i++ {
		wait.Add(1) //启动一个协程登记+1
		go func(w *sync.WaitGroup) {
			defer w.Done()
			resp, _ := http.Get("http://www.laraval8.io/lock")
			defer resp.Body.Close()
		}(&wait)
	}
	wait.Wait()
}

记录下并发超发的问题

原文:https://www.cnblogs.com/tanbinghao/p/15164999.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!