java基础—如何创建线程?如何保证线程安全?
来源:互联网 发布:安卓手机视频录像软件 编辑:程序博客网 时间:2024/05/23 18:34
在java中如果要创建线程的话,一般有两种方式:
1)继承Thread类;2)实现Runnable接口。
在java中如何保证线程安全?
一般说来,确保线程安全的方法有这几个:竞争与原子操作、同步与锁、可重入、过度优化。
个人认为,保证线程安全,无外乎保持线程同步的方式,
如:@synchronized、NSLock、dispatch_semaphore、NSCondition、pthread_mutex、OSSpinLock。
然而:
OSSpinLock和dispatch_semaphore的效率远远高于其他。
@synchronized和NSConditionLock效率较差。
鉴于OSSpinLock的不安全,所以我们在开发中如果考虑性能的话,建议使用dispatch_semaphore。
如果不考虑性能,只是图个方便的话,那就使用@synchronized。
详细见以下链接:http://blog.csdn.net/tianyitianyi1/article/details/52041883
阅读全文
0 0
- java基础—如何创建线程?如何保证线程安全?
- 如何保证Java线程安全
- java如何保证线程安全
- 如何保证线程安全?
- 什么是线程安全?如何保证线程安全?
- java基础—HashMap实现原理,如何保证HashMap的线程安全?
- 如何保证ArrayList线程安全
- 在Java如何保证方法是线程安全的
- 在JAVA中ArrayList如何保证线程安全
- 如何使用concurrent保证线程安全
- 关于ThreadLocal如何保证数据线程安全
- 多线程中如何去保证线程安全
- 线程安全的理解和如何保证线程安全
- Servelt是否线程安全以及如何保证线程安全
- 浅谈Java并发编程系列(一)—— 如何保证线程安全
- java基础--如何创建一个线程
- Java 如何创建线程
- 如何做到java线程安全
- 《Appium学习中遇到的问题》之“运行脚本时driver = new AndroidDriver(new URL(serverURL), capabilities)报错”
- FreeSWITCH核心命令
- Spark高级数据分析
- Incorrect integer value(1366)错误解决方法
- JDK 9 发布仅数月,为何在生产环境中却频遭嫌弃?
- java基础—如何创建线程?如何保证线程安全?
- angularJs中service的三种方法以及区别(factory,service,provider三者的区别)
- Android源码修改(自动获取usb权限)基于Android5.1定制版系统
- python windows环境下 pip install itchat 失败的原因
- Spring Boot 事物的快速应用
- String判断相等
- 基础练习 Huffuman树
- Linux环境下WEB应用启动或关闭tomcat脚本编写(一)
- 希狄微HL7015快充芯片简介