博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java多线程实现方式
阅读量:6005 次
发布时间:2019-06-20

本文共 597 字,大约阅读时间需要 1 分钟。

hot3.png

1:进程:是一个应用程序,所有线程的集合,而每一条线程就是进程中的每一条执行路径。(打开爱奇艺就是一个进程,而我们在里面同时下几个电视就是多个现程)

2:为什么需要多线程呢?就是为了提高程序的效率。(迅雷多线程下载,短信分批发送)。

3:创建线程的实现方式:1)继承Thread

2)实现Runnable接口 3)匿名内部类

3:什么是线程安全呢?就是多个线程同时共享时,同一个全局变量或者静态变量,在做写的操作的同时,可能会发生数据冲突的问题,也就是线程安全问题,但是在读的操作时是不会操作数据冲突的。如图所示会出现票数为101,那是因为2个线程同时去访问了这个count产生冲突了,那如何解决呢?

4:线程不安全如何解决? 1):使用 同步代码块(使用自定义锁) 包裹你要同步的代码块 2)使用同步函数  (同步函数是this锁),会自动释放锁 3)使用lock,需要手动释放锁

5:什么是同步代码块:将发生线程安全的代码包裹起来。让当前一个线程执行,执行完后释放资源,再让其他的的线程去执行。

5:静态同步函数,加static,怎么实现非静态和静态方法同步?非静态上this锁,静态上线程类锁既(X.class)

6:死锁:同步中嵌套同步,线程拿着锁都不释放。解决方法:尽量同步中不要嵌套同步

转载于:https://my.oschina.net/lsm97103/blog/1569996

你可能感兴趣的文章
使用Goldengate同步异构数据库Kafka中间件之一
查看>>
Unable to find the socket transport "http"
查看>>
MySQL高可用性之MHA
查看>>
Redisbook学习笔记(2)内存映射数据结构(1)压缩列表
查看>>
oracle 11g dataguard维护注意事项
查看>>
ORACLE系列脚本1:救命的应急会话处理脚本
查看>>
计算/etc/目录所有*.conf配置文件所占总空间大小
查看>>
python——ip加入nginx黑名单
查看>>
自动化技术初出茅庐,ansible使用解析。
查看>>
Apache CouchDB安装及入门
查看>>
转移博客到xinqiyang.freeflare.com了,这里会继续更新.
查看>>
${pageContext.request.contextPath}
查看>>
JAVA 读取计算机中相关信息
查看>>
SSD基本工作原理
查看>>
《西游记》《封神榜》各路神仙基本层次图,不要再傻傻分不清楚了
查看>>
tomcat内存大小设置
查看>>
js 的登录验证
查看>>
pthread使用
查看>>
Spring的bean管理(注解)
查看>>
SQL中on条件与where条件的区别
查看>>