synchronized 在多线程中的一些 理论
来源:互联网 发布:网络舆论使思考更多元 编辑:程序博客网 时间:2024/05/22 04:33
package com.mhm.test;public class Test8 extends Thread {public String methodName;public static void method(String s) {System.out.println(s);while (true);}public synchronized void method1() {method("非静态的method1方法");}public synchronized void method2() {method("非静态的method2方法");}public static synchronized void method3() {method("静态的method3方法");}public static synchronized void method4() {method("静态的method4方法");}public void run() {try {getClass().getMethod(methodName).invoke(this);} catch (Exception e) {}}public static void main(String[] args) throws Exception {Test8 myThread1 = new Test8();for (int i = 1; i <= 4; i++) {myThread1.methodName = "method" + String.valueOf(i);new Thread(myThread1).start();sleep(100);}}}
输出
非静态的method1方法静态的method3方法
得出结果:
method2和method4在method1和method3未结束之前不能运行。因此,我们可以得出一个结论,如果在类中使用synchronized关键字来定义非静态方法,那将影响这个中的所有使用synchronized关键字定义的非静态方法。如果定义的是静态方法,那么将影响类中所有使用synchronized关键字定义的静态方法。
阅读全文
0 0
- synchronized 在多线程中的一些 理论
- synchronized在多线程中的应用
- synchronized在多线程中的使用
- Synchronized在多线程中的使用
- java关键字volatile和synchronized在多线程中的应用
- 一些计算机理论在实际生产中的应用
- JAVA多线程编程中的SYNCHRONIZED
- 多线程中的同步之synchronized应用——synchronized方法
- Synchronized在java中的用法
- 【多线程】线程中的同步锁synchronized
- synchronized在多线程情况下的使用
- 对String在多线程中的一些简单认识
- 关于cloudstack中的一些理论和常见问题
- 多线程中的一些方法
- 多线程理论
- synchronized多线程
- 多线程-synchronized
- 关于Java多线程的一些内容及synchronized的用法
- 多线程理论知识
- 11、JavaScript 学习记录-基础
- 贝叶斯学习总结
- 为什么要在多线程中进行数据同步
- YOLO算法学习及训练
- synchronized 在多线程中的一些 理论
- linux编辑文件,中途退出再进入编辑操作
- 第三次Java作业继承
- 小结多态
- mysql一条SQL一次插入大容量数据
- 电路布线问题
- Minimum Cut POJ
- php 数组 循环
- 《MySQL技术内幕--InnoDB存储引擎》读书笔记