java 多线程:开两个线程,一个线程跑同步代码块,一个线程跑同步函数
代码如下:
package com.chnsys.thread1;public class JavaResearch01 {public static void main(String[] args) {Ticket t = new Ticket();Thread t1 = new Thread(t);Thread t2 = new Thread(t);/*Thread t3 = new Thread(t);Thread t4 = new Thread(t);*/t1.start();try {Thread.currentThread().sleep(10);} catch (InterruptedException e) {// TODO Auto-generated catch block e.printStackTrace();}t.flag = false;t2.start();/*t3.start();t4.start();*/} }class Ticket implements Runnable{private int tick = 100;Object obj = new Object();boolean flag = true;@Override public void run() {// TODO Auto-generated method stubif(flag){while(true){//同步代码块synchronized (this) {if(tick>0){try {Thread.sleep(100);} catch (Exception e) {// TODO: handle exception }System.out.println(Thread.currentThread().getName()+".....code : "+tick--);}}}}//show()函数while(true){show();}}public synchronized void show(){if(tick>0){try {Thread.sleep(100);} catch (Exception e){//TODO: handle exception }System.out.println(Thread.currentThread().getName()+"....show : "+tick--);}} }
转载于:https://www.cnblogs.com/ligang305/archive/2012/09/06/2673819.html
java 多线程:开两个线程,一个线程跑同步代码块,一个线程跑同步函数相关推荐
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- Java20-day11【实现多线程(进程、线程-调度-控制-生命周期)、线程同步(同步代码块、线程安全、Lock)、生产者消费者(模式概述、案例)】
视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...
- 同步代码块解决线程安全
案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果. 代码: package com.learn;class ThreadDemo01 implements Runnab ...
- 6※、线程同步、同步锁、同步代码块的使用、同步锁释放的时机、ReentrantLock可重入锁、公平锁与非公平锁的区别、什么是死锁、线程间的通信(生产者和消费者模式)
线程锁 1.※线程的同步:(要确保对象锁是一致的) 1.未使用同步锁的抢票 2.使用了同步锁的抢票 3.线程-同步代码块的使用 4.同步方法和代码块的区别 5.同步锁释放的时机 练习:多线程生产手机 ...
- 实现多线程、进程、线程、设置和获取线程名称、线程调度、线程控制、线程生命周期、同步代码块、线程安全的类、Lock锁、生产者消费者模式
实现多线程:
- 黑马毕向东Java课程笔记(day11):多线程(第一部分)——进程与线程+线程创建+线程安全与同步代码块+同步锁/死锁
多线程好文:添加链接描述 锁机制:synchronized.Lock.Condition.volatile(原子性可见性)--参考添加链接描述 1.进程与线程概述 首先,对于CPU执行每一个程序, ...
- Java 编程下的并发线程之间的同步代码块死锁
并发线程之间的死锁通常发生在同步代码块的相互嵌套使用的过程中,下面先来看段代码: package cn.sunzn.synchronize;public class DeadLock {public ...
- java synchronized块_Java多线程同步代码块Synchronized
Java多线程同步代码块Synchronized Java中的每个对象都有一个与之关联的内部锁(Intrinsic lock). 这种锁也称为监视器(Monitor), 这种内部锁是一种排他锁,可以保 ...
- 编程开发之--java多线程学习总结(2)同步代码块
1.第一种解决办法:同步代码块,关键字synchronized package com.lfy.ThreadsSynchronize;/*** 1.使用同步代码块* 语法:synchronized ( ...
- 多线程与同步代码块详解
线程是程序执行的一条路径, 一个进程中可以包含多条线程.多线程并发执行可以提高程序的效率,可以同时完成多项工作,多线程并发执行的实质就是CPU在做着高速的切换.多线程的应用场景:红蜘蛛同时共享屏幕给多 ...
最新文章
- python怎么读excel文件-Python读写Excel文件方法介绍
- 【拓扑排序】【堆】CH Round #57 - Story of the OI Class 查错
- [CTO札记]从生活来看‘服务心态’
- 超经典解释什么叫网关
- CV Code | 计算机视觉开源周报20191002期
- 的write方法有哪些参数_Python笔记13:文件操作三件套:read,write,seek
- “混合云产业推进联盟”成立,ZStack实力助推
- 自定义 QTreeView
- ubuntu 下 Aircrack 破解wifi密码(wpa/wpa2)
- 前端Svelte框架初体验
- CRM —— 1、搭建开发环境
- 解决uniapp调试过程中的请求跨域和环境配置
- IE浏览器代理服务器总是自动打开,取消勾选隔一会又会打开
- 全网舆情监测系统功能板块具体详介
- UITableView reload刷新闪动问题
- Python diag函数
- 详细总结Linux中的火墙策略优化
- ibus添加搜狗词库
- Media Foundation——媒体类型(1)
- 2020/9/10 创乐博机器人实机使用