java多线程:3、线程互斥
来源:互联网 发布:手机淘宝会员怎么注册 编辑:程序博客网 时间:2024/05/16 08:19
多线程互斥问题在生活中随处可见,如买票、银行转账等等。。。
实例代码:
public class ThreadTest2 { final SysOut sysOut=new SysOut(); public static void main(String[] args) { ThreadTest2 test=new ThreadTest2(); new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub while(true){ try { Thread.sleep(50); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } test.sysOut.outer("****************"); } } }).start(); new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub while(true){ try { Thread.sleep(50); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } test.sysOut.outer("!!!!!!!!!!!!!!!!"); } } }).start(); } class SysOut{ public void outer(String name){ for(int i=0,n=name.length();i<n;i++){ System.out.print(name.charAt(i)); } System.out.println(); } }}
输入结果:
如果希望两个字符串都可以完整输出可以使用以下几种方法
1、使用synchronized块
class SysOut{ public void outer(String name){ synchronized(this){ for(int i=0,n=name.length();i<n;i++){ System.out.print(name.charAt(i)); } System.out.println(); } } }
2、在方法上添加synchironized关键字
public synchronized void outer(String name){ for(int i=0,n=name.length();i<n;i++){ System.out.print(name.charAt(i)); } System.out.println();}
要想使多线程之间互斥,多线程之间必须使用相同的监视对象
0 0
- java多线程:3、线程互斥
- Java多线程[3]:线程同步(互斥)
- java多线程(二)线程的互斥
- 多线程_线程互斥
- 张孝祥java多线程视频笔记----传统线程互斥技术
- java 多线程学习笔记之 线程互斥
- Java多线程与并发应用-(2)-线程互斥synchronized
- java多线程Thread线程同步与互斥、锁机制
- java多线程关于线程互斥实现实例
- Java多线程基础(并发、线程安全、同步、互斥)
- java多线程学习(一)---线程互斥
- Java 线程互斥
- Java 线程互斥
- Java多线程编程--(3)线程互斥、同步的理解
- Java多线程编程--(3)线程互斥、同步的理解
- Java多线程编程--(3)线程互斥、同步的理解
- 多线程编程 线程互斥 线程同步
- java中的多线程——线程创建方式、线程互斥和线程间通信
- 文章标题
- Cocos2d-3.2 VideoPlayer 视频播放梳理01
- tcp基本套接字编程函数
- 欢迎使用CSDN-markdown编辑器
- 如何将本地项目上传到GitHub
- java多线程:3、线程互斥
- K-diff Pairs in an Array
- LeetCode-M-Sort Colors
- 【p1032-子串变换】解题记录
- mysql导入大量数据
- 淘宝atlas框架初探atlas-core(二):Bundle插件化
- Week Training: 513 Find Bottom Left Tree Value
- Ubuntu安装aspect
- Tensorflow学习笔记--模型保存与调取