首页 > 其他分享 >多个线程操作一个对象

多个线程操作一个对象

时间:2023-02-21 19:56:11浏览次数:36  
标签:testThread4 多个 Thread 对象 titckNum start 线程 new

package com.Java;

//多个线程操作同一个对象
//抢火车票例子
//发现问题 多个线程抢夺同个资源的情况下 线程不安全 数据紊乱
public class TestThread4 implements Runnable{
private int titckNum = 10;
@Override
public void run() {
while(true){
try {
// 模拟延时
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (titckNum<=0){
break;
}
System.out.println(Thread.currentThread().getName()+"-->抢到了第"+titckNum--+"张票");
}
}

public static void main(String[] args) {
TestThread4 testThread4 = new TestThread4();

new Thread(testThread4,"小明").start();
new Thread(testThread4,"老师").start();
new Thread(testThread4,"黄牛").start();
}
}

标签:testThread4,多个,Thread,对象,titckNum,start,线程,new
From: https://www.cnblogs.com/fc666/p/17142190.html

相关文章

  • Redis IO多线程的简要测试结果
    RedisIO多线程的简要测试结果摘要最近想简单确认一下IO多线程的对吞吐量的提升情况.正好手头有鲲鹏的机器,所以想直接进行一下验证顺便用一下4216进行一下对比.......
  • 继承Thread开启多线程下载图片(不推荐,java的单一继承性)
    packagecom.Java;importorg.apache.commons.io.FileUtils;importjava.io.File;importjava.io.IOException;importjava.net.URL;//练习多线程Thread,实现多线程下载图片......
  • 【多线程】高并发之——SimpleDateFormat类的线程安全问题和解决方案
    关于SimpleDateFormat熟悉Java的同学知道这个类是线程不安全的,但究竟是怎样不安全法,什么原因产生的线程不安全?估计未必全部人都能够答得上来(我也不能,emmmm)呃,想更好地......
  • Python的多进程和多线程
    前言:为什么有人说Python的多线程是鸡肋,不是真正意义上的多线程? 看到这里,也许你会疑惑。这很正常,所以让我们带着问题来阅读本文章吧。问题:1.什么是python......
  • DJango-ORM根据primary_value获取对应的类对象
    @classmethoddefget_obj_by_primary_value(cls,primary_value=None):primary_key=Nonefields=cls._meta.get_fields()forobjinfields:ifob......
  • 深入理解JavaScript对象
    前言在JavaScript中,对象是一种非常常见的数据类型,几乎每个程序员都会在日常工作中频繁地使用对象。在本篇文章中,我们将深入了解JavaScript对象的一些基本概念和一些高......
  • js两个对象的比较
    constequals=(a,b)=>{if(a===b)returntrue;if(ainstanceofDate&&binstanceofDate){returna.getTime()===b.getTime()}if(!a||!b||(ty......
  • Jackson_java对象转json 注解
    Java对象转换JSON1使用步骤1导入jackson的相关jar包2创建Jackson核心对象ObjectMapper3调用ObjectMapper的相关方法进行转换转......
  • 对象定义-解构-枚举属性遍历以及对象内函数
    属性名表达式定义对象的属性有两种方式1、直接使用标识符作为属性名obj.name2、以表达式作为属性名obj['a'+'b']=10letobj={}obj.name='孙悟空'//孙悟空......
  • 线程
    所有进程共享3~4G的内核空间,所以基于内核之间的通信能够实现。线程之间的通信:  1.不同进程的线程之间要进行通信,那就是进程之间的通信。  2.同一进程的线程间的通......