java开两个线程操作同一个对象会有什么情况?

2025-03-09 23:23:49
推荐回答(2个)
回答1:

如果这个对象被上线程锁(线程安全),那么只有一个能获取到执行,另一个必须等待
如果只是部分代码被上锁,他们可以共享公共资源,上锁部分就必须等待
如果没有任何限制,那么每个线程都可能创建一个新对象,互不干扰

举个例子,
有台打印机,打印程序,如果a.b都想打印,那么它们必须等待先来的完成,打印程序只能有一个,线程上锁了
有一段服务器代码,有两个甚至多个网页去请求他,他会给每一个线程创建一个一样的对象去处理事物,而不用等待别人操作完

你说的两个线程去操作一个对象,那应该是操作共享资源,只要没有内存溢出等等异常是完全可以正常执行的

回答2:

数据会出错