这个星期,之前的学长向我们简单的阐述了要学好java后端需要掌握哪些知识,其中一个很基础的部分就是并发编程。
不知道像我这样的程序小白在编写有关数据库的代码的时候有没有想过这样一个问题
1. 现在我们接触的有关数据库方面的知识都是我们自己一个人在操作,增删改查都是由我们自己一个人完成,就像是一条直线一样。但是这个是很不靠谱的,因为大多是的服务器都是面向群众的而不是一个个体。你在访问数据库的同时,其他人也需要访问数据库,这时候就产生疑问了。
2. 这个大家都在访问数据库该怎么办呢?这里我们就要引入线程的概念。
3. 要了解线程首先要知道进程,一个进程至少有一个或者多个线程,假如计算机运行是一个进程的话,那么你在计算机上使用其他的程序比如qq、微信等就可以看作一个线程。
4. 就拿很多人同时访问和修改数据库来说,你有没有思考过这个问题,当你在访问数据库的同时其他人也在访问数据库,当你修改数据库里的内容的时候,其他人也在修改数据库,但是他读取的内容是你修改之前的内容,而他修改后的内容又必须在你修改的基础上修改,这个时候不就出现了问题了吗?这该如何解决
5、具体的关于线程的代码我就不表示了,在我没有学习这个之前,我个人的解决方法是使用标志位,当你访问数据库的时候这个数据库的标志就为1,没有被使用的标志位就为0;当标志位为1的时候,其他人必须排队才能访问你正在使用的数据库。
6、所以在线程内就引入了锁这个概念,我个人的理解感觉锁就是一个标志位,但是它的功能比这个复杂的多。因为实际情况往往比这个麻烦的多,就比如打游戏你充钱成VIP,你充了钱你就可以插队,在线程里面就有方法可以实现。
7、最后,也就随便说说,在当今这个社会,每个事务都是有联系的,并发编程是必不可少的,这个是一定的,所以这点一定要好好的掌握才行。