随笔分类 - Java多线程
摘要:关键字volatile关键字的作用是使变量在多个线程间可见。也就是volatile只能保证可见性,不能保证原子性。所以volatile不具备同步性。 1.一个死循环问题 如果不是在多继承的情况下,使用继承Thread类和实现Runnable接口在取得程序运行的结果上并没有什么太大的区别。如果一旦出现
阅读全文
摘要:主要学习多线程的并发访问,也就是使得线程安全。 同步的单词为synchronized,异步的单词为asynchronized 同步主要就是通过锁的方式实现,一种就是隐式锁,另一种是显示锁Lock,本节主要研究隐式锁synchronized的使用。 每个Java对象都可以用作一个实现同步的锁,注意前提
阅读全文
摘要:1.停止线程 停止线程不像停止一个循环break一样干脆。 停止一个线程意味着在线程处理完任务之前停掉正在做的操作,也就是放弃当前的操作。虽然看起来简单,但是必须做好正确的防范措施,以便达到预期的效果。停止一个线程可以用Thread.stop(),但最好不要用它。虽然它确实可以停止一个正在运行的线程
阅读全文
摘要:线程类有好多方法,下面介绍一些常用的方法。 1.start() 实例方法 启动一个线程用的是thread.start()方法,如果直接调用run方法是同步调用,相当于一个普通的方法调用。 start()方法使线程开始执行,JVM会自动调用线程的run方法。new出来线程,调用start()方法即处于
阅读全文
摘要:在接下来的一段时间内会学习多线程相关知识,文章的主要内容是参考<<Java多线程编程核心技术>>,作者高洪岩。 所有代码中都用到了slf4j日志,主要代替System.out.print功能,而且所有的代码最后整理放在git,git地址:https://github.com/qiao-zhi/Thr
阅读全文
摘要:我们都知道创建一个线程可以继承Thread类或者实现Runnable接口,实际Thread类就是实现了Runnable接口。 到今天才明白后端线程的作用:我们可以开启线程去执行一些比较耗时的操作,类似于前台的ajax异步操作,比如说用户上传一个大的文件,我们可以获取到文件之后开启一个线程去操作该文件
阅读全文