<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[comerun的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/comerun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; comerun]]></copyright><item><title><![CDATA[多线程——volatile关键字]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/143465428</link><guid>https://blog.youkuaiyun.com/comerun/article/details/143465428</guid><author>comerun</author><pubDate>Sun, 03 Nov 2024 23:19:28 +0800</pubDate><description><![CDATA[在这篇文章中，我列举了很多跟volatile关键字有关的代码片段，但有些场景不能单单只靠volatile关键字来进行解决，我们需要配合synchronized关键字一同使用才能避免出现线程安全问题，但synchronized关键字可以解决 volatile关键字能解决的问题，而且更容易理解，那是不是证明synchronized要比volatile更加有用，更被我们日常开发中所信赖，事实真是如此吗？]]></description><category></category></item><item><title><![CDATA[多线程——死锁]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/143375546</link><guid>https://blog.youkuaiyun.com/comerun/article/details/143375546</guid><author>comerun</author><pubDate>Fri, 01 Nov 2024 18:00:08 +0800</pubDate><description><![CDATA[在我们使用多线程进行开发的时候，不可避免的会碰上死锁这类的问题，而这是我们在使用多线程中最常见的也是最棘手的问题，这篇文章就带你们初步的了解一下什么是死锁，以及如何避免死锁的产生。]]></description><category></category></item><item><title><![CDATA[多线程——线程安全问题]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/143216438</link><guid>https://blog.youkuaiyun.com/comerun/article/details/143216438</guid><author>comerun</author><pubDate>Thu, 24 Oct 2024 21:21:55 +0800</pubDate><description><![CDATA[在我们使用多线程的时候，要避免出现线程不安全的情况发生，那是什么导致的线程不安全，以及为什么要避免发生线程不安全，又该如何避免线程不安全，我会在接下来的内容里一一介绍。]]></description><category></category></item><item><title><![CDATA[多线程——synchronized关键字]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/140473258</link><guid>https://blog.youkuaiyun.com/comerun/article/details/140473258</guid><author>comerun</author><pubDate>Tue, 16 Jul 2024 19:38:34 +0800</pubDate><description><![CDATA[在我们的多线程中，我们还需要去了解一个很重要的关键字，那就是synchronized关键字，那我们就来具体聊一聊为什么要创建这样一个关键字吧！]]></description><category></category></item><item><title><![CDATA[多线程——Thread类及常见方法]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/140443298</link><guid>https://blog.youkuaiyun.com/comerun/article/details/140443298</guid><author>comerun</author><pubDate>Tue, 16 Jul 2024 02:25:25 +0800</pubDate><description><![CDATA[这一篇我们就来了解一下，具体的Thread类的用法和使用场景。相信大家经过对多线程的一定认识都明白线程是需要创建的，接下来我们一起来详细学习Thread类。]]></description><category></category></item><item><title><![CDATA[多线程——初步认识线程]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/140408851</link><guid>https://blog.youkuaiyun.com/comerun/article/details/140408851</guid><author>comerun</author><pubDate>Sun, 14 Jul 2024 15:28:16 +0800</pubDate><description><![CDATA[在我一开始学习多线程的时候，一直很疑惑的是，为什么要创造多线程，线程又是什么？其实很多时候问题就藏在我们的生活当中，我们也可以把编程的思想与现实生活联系起来就可以理解为什么Java之父要去专门设计线程。]]></description><category></category></item><item><title><![CDATA[省市区数据库的设计思路和SQL源码]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/140152310</link><guid>https://blog.youkuaiyun.com/comerun/article/details/140152310</guid><author>comerun</author><pubDate>Wed, 03 Jul 2024 15:11:07 +0800</pubDate><description><![CDATA[我们通过键值来进行省市区的联动，创建一个主键和一个父键代表一个地方的自己和上级，比如中国的主键为1，但它属于最高行政单位，没有上级，那可以把父键置空，到了省行政单位，比如江苏省，它的主键是11，它的父键就是中国的主键——1，而苏州市的主键为112，它的父键就是江苏省的主键——11，如此往复，县和区是同一个道理。这个数据库的设计是需要花时间去核对的，所以需要花一点时间 ，你们还可以额外添加其他的内容，比如行政编码等信息，这个数据库可使用的范围很广，所以很有参考价值。以下是我的数据库源码，基本可以正常使用！]]></description><category></category></item><item><title><![CDATA[C语言用结构体实现静态通讯录]]></title><link>https://blog.youkuaiyun.com/comerun/article/details/134805033</link><guid>https://blog.youkuaiyun.com/comerun/article/details/134805033</guid><author>comerun</author><pubDate>Wed, 06 Dec 2023 18:22:44 +0800</pubDate><description><![CDATA[1.初始化通讯录的函数可以看到我们这个自定义函数用了一个很巧妙的方法，用我们的结构体指针变量指向单个数据内存当中，用了库函数里的memset函数，初始化通讯录里的信息全为0。用来记录存放联系人数量的count结构体成员，也初始化为0，意味着我们一开始联系人的数量为0。注：memset函数的基本用法如果文章中有不对的地方欢迎指出，我都会虚心学习并改正，如果对源码有不理解的地方，也可以在评论区里询问我，我尽可能帮助解答！]]></description><category></category></item></channel></rss>