<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[柳贯一的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u014590211</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014590211]]></copyright><item><title><![CDATA[Mutex 学习笔记]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/120350667</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/120350667</guid><author>u014590211</author><pubDate>Fri, 17 Sep 2021 15:49:40 +0800</pubDate><description><![CDATA[文章目录Mutex临界区Mutex 互斥锁Mutex 常见的四种错误场景
Mutex

临界区
在并发编程中，如果程序中的一部分被并发访问或修改，为了避免并发访问导致的意想不到的结果，这部分程序需要被保护起来，这部分被保护起来的的程序，就叫临界区
临界区可以是一个被共享的资源，或者一个整体的一组共享资源、比如对数据库的访问、某个共享数据结构的操作、对一个IO设备的使用、对一个连接池中的连接调用。

Mutex 互斥锁
mutex 是使用最广泛的同步原语（并发原语）
同步原语适用场景

共享资源：并发地读写共]]></description><category></category></item><item><title><![CDATA[pid = 4 的进程 windows NT kernel & System 占用80端口]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/83143733</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/83143733</guid><author>u014590211</author><pubDate>Thu, 18 Oct 2018 11:22:42 +0800</pubDate><description><![CDATA[windows NT kernel &amp;amp; System 占用占用80端口


问题：



运行’netstat -ano’发现80端口被pid=4的进程占用


打开任务管理器，发现pid=4的进程，其实是system进程，其对应的进程描述是NT kernel &amp;amp; system。



如何清除：


http协议里的某个进程占用了80，但是在任务管理器显示的是System,最后发...]]></description><category></category></item><item><title><![CDATA[在thinkphp中使用laravel orm]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/82190042</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/82190042</guid><author>u014590211</author><pubDate>Wed, 29 Aug 2018 17:54:32 +0800</pubDate><description><![CDATA[在thinkphp中使用laravel orm




以命令行为栗子 ， 在上一节中我们在thinkphp 中如何使用console组件 ， 本栗子在上个项目的基础上
首先在项目根目录下运行使用如下 Composer 命令安装该依赖包：


composer require illuminate/database ~5.1



这样在 vendor 目录下现在就有了 illuminate/da...]]></description><category></category></item><item><title><![CDATA[解决 WebUploader插件 在谷歌浏览器中反应缓慢迟钝]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/82187329</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/82187329</guid><author>u014590211</author><pubDate>Wed, 29 Aug 2018 17:06:22 +0800</pubDate><description><![CDATA[解决WebUploader在谷歌浏览器中反应缓慢迟钝




在初始化webuploader的 js


accept: {
  title: 'Images',
  extensions: 'jpg,jpeg,png',
  mimeTypes: 'image/*'
}


修改为


accept: {
  title: 'Images',
  extensions: 'jpg,jpeg,pn...]]></description><category></category></item><item><title><![CDATA[python3 在 django 中使用 mysql 报错 no modul MysqlDb]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/82187121</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/82187121</guid><author>u014590211</author><pubDate>Wed, 29 Aug 2018 17:03:42 +0800</pubDate><description><![CDATA[python3 在 django 中使用 mysql 报错 no modul MysqlDb




在 Python3 中不在支持 MysqlDb Django 在链接mysql时 ， 会报 no modul MysqlDb
解决办法
使用替代品 pymysql pip install pymysql
在站点 init.py 中添加



import pymysql
pymysql.insta...]]></description><category></category></item><item><title><![CDATA[phalcon 数据库配置添加表前缀]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/82186785</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/82186785</guid><author>u014590211</author><pubDate>Wed, 29 Aug 2018 16:59:06 +0800</pubDate><description><![CDATA[phalcon 数据库配置添加表前缀


先在app/config/config.php 配置文件加上数据库前缀配置tablePrefix


&amp;lt;?php

    'database' =&amp;gt; array(
        'adapter'     =&amp;gt; 'Mysql',
        'host'        =&amp;gt; '127.0.0.1',
        'use...]]></description><category></category></item><item><title><![CDATA[在ThinkPHP 中使用 Symfony 命令行组件]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/82186581</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/82186581</guid><author>u014590211</author><pubDate>Wed, 29 Aug 2018 16:56:01 +0800</pubDate><description><![CDATA[Symfony Console 集合到thinkphp




安装 console 组件



    composer require symfony/console @stable



创建代码目录


    mkdir -p bin/cmd



注册命名空间,编辑 composer.json 文件如下，然后在命令行输入composer dump-autoload




{
   &quot;...]]></description><category></category></item><item><title><![CDATA[ThinkPHP 伪静态隐藏index.php后 ， 除了首页其他的都是404]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/82186391</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/82186391</guid><author>u014590211</author><pubDate>Wed, 29 Aug 2018 16:52:39 +0800</pubDate><description><![CDATA[


在phpstudy\apache\conf\httpd.conf中 去掉LoadModule rewrite_module modules/mod_rewrite.so 前面的符号 #
AllowOverride None 修改为了AllowOverride All
修改 .htaccess 文件为



&amp;lt;IfModule mod_rewrite.c&amp;gt; 
RewriteEngi...]]></description><category></category></item><item><title><![CDATA[ubuntu 常用命令整理]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/81875414</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/81875414</guid><author>u014590211</author><pubDate>Mon, 20 Aug 2018 18:02:08 +0800</pubDate><description><![CDATA[有些乱 ， 主要是备份一下自己维护期间常用命令


将请求80服务的client ip按照连接数排序


netstat -nat|grep &quot;:80&quot;|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n


查看是否遭受ddos攻击


 netstat -ntu | awk '{print $5}' | cut -d: ...]]></description><category></category></item><item><title><![CDATA[解决由于已经达到 MaxReports 限制，没有写入 apport 报告的错误]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/81875335</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/81875335</guid><author>u014590211</author><pubDate>Mon, 20 Aug 2018 17:56:32 +0800</pubDate><description><![CDATA[解决由于已经达到 MaxReports 限制，没有写入 apport 报告的错误




现将info文件夹更名 
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
再新建一个新的info文件夹




sudo mkdir /var/lib/dpkg/info 
sudo apt-get update
sudo apt-get -f instal...]]></description><category></category></item><item><title><![CDATA[解决 php 在 ubuntu 下 no version information available (required by php)]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/81875269</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/81875269</guid><author>u014590211</author><pubDate>Mon, 20 Aug 2018 17:53:42 +0800</pubDate><description><![CDATA[ubuntu 编译安装 php /usr/local/openssl/lib/libcrypto.so.1.0.0: no version information available (required by php)


  编译安装 php , 在命令行运行 php -v 报错





php: /usr/local/openssl/lib/libssl.so.1.0.0: no versi...]]></description><category></category></item><item><title><![CDATA[ubuntu 安装微软雅黑字体]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/81875110</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/81875110</guid><author>u014590211</author><pubDate>Mon, 20 Aug 2018 17:50:55 +0800</pubDate><description><![CDATA[1.安装phantomjs


  ubuntu下sudo apt-get install phantomjs下载的不能用



安装phantomjs



  下载程序文件



wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2
32位ubuntu下载链接是 htt...]]></description><category></category></item><item><title><![CDATA[ubuntu 下安装phantomjs]]></title><link>https://blog.youkuaiyun.com/u014590211/article/details/81871547</link><guid>https://blog.youkuaiyun.com/u014590211/article/details/81871547</guid><author>u014590211</author><pubDate>Mon, 20 Aug 2018 15:22:50 +0800</pubDate><description><![CDATA[1.安装phantomjs


  ubuntu下sudo apt-get install phantomjs下载的不能用



安装phantomjs



  下载程序文件



wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2
32位ubuntu下载链接是 htt...]]></description><category></category></item></channel></rss>