java 多线程学习
来源:互联网 发布:软件项目管理课程设计 编辑:程序博客网 时间:2024/06/02 01:57
问题叙述:我在csdn提过一个问题:http://bbs.csdn.net/topics/392283253#new_post
现在我明白其实根本不用解释相同为什么结果是我帖子中图片所呈现的输出,我只需要明白,线程不安全所导致!那么如何解决线程不安全:
方法一:同步代码块
方法二:同步方法(即将同步代码块放到一个用synchronized修饰的方法中)
按照上述良好总方法对连接中的问题进行修改!!
方法一:
public class T extends JFrame {
@Test
public void do_button2_actionPerformed() {
final StringBuilder sb = new StringBuilder();
for ( int i=0 ; i < 5; i++) {
new Thread() {
public void run() {
synchronized(""){
sb.append("《Java编程词典》");
System.out.print(sb.toString());
System.out.println(" ");
}
};
}.start();
}
}
}
方法二:
public class T extends JFrame {
StringBuilder sb;
@Test
public void do_button2_actionPerformed() {
sb = new StringBuilder();
for ( int i=0 ; i < 5; i++) {
new Thread() {
public void run() {
doit();
};
}.start();
}
}
synchronized void doit(){
sb.append("《Java编程词典》");
System.out.print(sb.toString());
System.out.println(" ");
}
}
两种方法输出结果(线程按照;理想状态输出):
- Java学习,多线程
- Java多线程学习笔记
- Java学习:多线程(1)
- java多线程学习总结
- java多线程学习
- java多线程学习总结
- java多线程学习
- java多线程学习
- Java多线程学习笔记
- [Java]多线程学习网站
- java多线程学习1
- Java学习笔记---多线程
- Java多线程举例学习
- Java多线程学习总结
- java多线程学习
- java基础学习--多线程
- java多线程学习总结
- java多线程学习
- javascript中Ajax的简单封装
- php解析html类库simple_html_dom(爬虫相关)
- react-native 使用Navigation跳转界面
- Faster RCNN代码理解(Python)
- 将Java源码打成jar包
- java 多线程学习
- QT5 动态链接库的创建和使用(QT自己做动态库给自己使用)
- pdo连接数据库
- Object Pascal 关键字
- 为了更高效的开发代码,这里列出了一些webstorm的快捷键和zencoding
- PHP之冒泡排序的优化
- Druid数据库连接池的正确姿势
- Lua-cjson -> require(“cjson”) successful, then errors when calling cjson.encode
- Zookeeper原理详解