并发编程
写在前面:最近上班闲来无事,写篇博客打发一下时间吧,想了想不知道该写点什么,写点关于并发编程的吧,正好自己最近也是正在看并发编程。
什么是并发编程
首先要学习并发首先要知道并发是什么,并发就是让计算机在同一时间运行多个应用程序,能够使复杂的代码变得简单,从而极大地简化了复杂系统的开发。并发能够在一定程度上提高系统资源利用率,可以将一个复杂的任务分割成多个简单的小任务,利用多核计算机的优势,让多个任务同时执行,最后将结果汇总即可。这样,节省了时间,提高了工作效率。就好像,你早晨起来准备煮饭、刷牙、洗脸。这几件事没有必要串行执行,煮完饭再去刷牙洗脸,你完全可以先把饭煮上,在煮饭的过程中,去刷牙洗脸。这样提高时间利用率
如何实现并发编程
目前,在JAVA中,实现并发编程的方式就是利用多核CPU优势,使用多线程同时执行的方式实现并发编程,实现多线程,两种方式:实现Runnable接口和继承Thread类,这两种方法有什么不同呢。
在**高并发**的场景下,一直被人们诟病的就是**线程安全**
什么是线程安全呢,线程安全就是无论多少线程,简单一点说就是,一个对象可以在在多个线程中同时调用(**临界资源**),并且在线程之间不会出现错误的交互。什么是线程安全的类呢。可以被多个线程调用,而且调用者在使用的时候无需执行额外的操作。
那么,在多线程条件下,我们如何保证自己写的代码线程安全呢,在**高并发**场景下保证自己的代码能够正常运行。**加锁**
在**JAVA**中提供了一种内置锁的机制支持原子性,**synchronized**同步代码块,被synchronized修饰的方法就是线程安全的方法,在费静态方法中使用synchronized时,这时所对象是方法调用所在的对象。