Java并发和多线程那些事儿

时光毁灭记忆、已成空白 提交于 2019-12-21 23:50:49

我记得我接触电脑的时候是在小学三年级的时候,那是1995年,那年发布了windows95,但是我学习的时候还是只是dos系统,简单对于文件的一些命令操作还有五笔

在过去的那个年代,电脑都是单CPU,也就是单任务处理;多任务处理到后来才慢慢发展起来,多任务代表电脑在同一时刻内可以处理很多并行操作,这样CPU被利用率高了,多个任务都可以共享。多任务处理的出现对于软件开发者来说需要做更多的事,就是资源释放,也就是垃圾回收,在软件不用的时候要释放资源,这样就可以给其他软件腾出资源来使用,就像ios内存机制那样,ios5之前是需要手动操作,ios5之后可以设置为自动处理,而有某些安卓程序做的不够好的,在手机后台会一直执行,从而引起手机发热,流氓软件横行,其实就是举个栗子。

然后的然后,多线程技术出现了,这样一个软件程序内部可以有多个线程可以并行操作,就像魔兽争霸里面那样,一个农民工采矿,一个农民工伐木,一个农民工出去打猎,这就是3个线程。

其实多线程要比多任务处理复杂一点,有多线程了就会涉及到并发,并发也就是说对内存的读写会出现类似脏读幻读(常见的DB我内天)的错误,虽然几率不大,但是线程一多,大并发的时候,那就有可能了。相信懂并发的朋友都知道。

其实我第一个接触的多线程语言并不是java,而是在C# winform中。相信学Java的朋友在接触swing前肯定会学习java多线程吧。

其实很早以前就想写点跟java多线程有关的文章,加上最近也有几个朋友在学线程,接下来会不定时更新一些相关文章吧~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!