java线程学习
来源:互联网 发布:hadoop大数据分析例子 编辑:程序博客网 时间:2024/06/05 05:30
综述
Java中线程知识点:生命周期、主要方法及作用、同步互斥、锁机制。
生命周期
- New(新创建)
- Runnable(可运行)
- Blocked(被阻塞)
- Waiting(等待)
- Timed Waiting(计时等待)
- terminated(被终止)
主要方法
- sleep()休眠一段时间,然后接着继续向下执行;
- wait()是object的方法,进入等待队列,等待唤醒后从头开始执行;
- join()等待执行完,在回到父(主)线程接着向下执行。
- notify()是object的方法,用于唤醒在这个锁对象上等待的线程。
锁机制 synchonized
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。(一个对象只有一个锁)
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。 四、第三个例子同样适用其它同步代码块。也就是说,当一个线程访问object的一个synchronized(this)同步代码块时,它就获得了这个object的对象锁。结果,其它线程对该object对象所有同步代码部分的访问都被暂时阻塞。 五、以上规则对其它对象锁同样适用.
阅读全文
0 0
- java学习日记(线程)
- Java线程学习
- java线程学习基础
- java线程学习总结
- JAVA学习【知】线程
- Java学习之多线程
- java线程初步学习
- Java线程学习11.30
- java线程学习例子
- 关于java 线程学习
- java线程学习总结
- Java 线程池学习
- java线程的学习
- java线程的学习
- java线程池学习
- Java 线程池学习
- java线程学习
- java线程学习
- hdu1279 验证角谷猜想
- redis学习(七)——五大数据类型总结:字符串、散列、列表、集合和有序集合
- java排序
- 5.3
- 第一节,c语言的介绍。
- java线程学习
- Android 经典笔记之八:网络请求数据基础介绍
- 语法分析
- c语言printf()输出格式大全
- C语言基础与提高1
- 最小代价生成树的克鲁斯卡尔算法
- redis学习(九)——数据持久化
- mysql使用replace方法改变某列的值中的某些字符
- SDUT-2135