比较有意思的题-线程问题

问题描述

publicclassTTimplementsRunnable{intb=100;publicsynchronizedvoidm1()throwsException{b=1000;Thread.sleep(5000);System.out.println("b="+b);}publicvoidm2(){System.out.println(b);}问:当m1()方法在执行时,m2()方法会执行吗?为什么?

解决方案

解决方案二:
这段代码是不是少了一个“}”?还有实现Runnable接口时,你并沒有实现它的run()方法啊!
解决方案三:
上面是简单问题,主要考查线程锁问题,答案是会执行
解决方案四:
哦学习了
解决方案五:
执行什么啊?run方法没有main方法也没有
解决方案六:
引用2楼hhx158java的回复:

上面是简单问题,主要考查线程锁问题,答案是会执行

能不能说个理由出来·synchronizedvoidm1(),m1()已经被锁了啊
解决方案七:
synchronized是线程的同步,意思是这一块代码在同一时间只可以被一个线程去执行,其他线程想要去执行它的时候必须等待
解决方案八:
我猜楼主的意思是,当被同步的m1()方法被一个线程执行时,别的线程会不会执行m2(),当然可以,因为m2()没被同步,不会互斥。
解决方案九:
对于多个TT的对象,同一时刻只能有一个对象执行m1()方法,直到return
解决方案十:
在执行同步方法的时候还可以执行非同步方法的
解决方案十一:
这个问题看你如何去调用m1与m2方法,楼主所说的会执行的情况在尚学堂的视频中有讲到。但是如果是直接去调用m1再调用m2,m2一定会在m1解锁后才调用。不信的话楼主可以试试,在

时间: 2024-10-25 10:02:57

比较有意思的题-线程问题的相关文章

正常性入职岗前培训(非培训机构的实习生入职培训)---基础知识总结

一:正常性大三实习生入职岗前培训总结: 也许题目应该叫"那个矫情的大三实习生已经入职实习了": 之前那个矫情的大三生写的找工作的感受(上次是偏理论性,这次是实践性出来找工作): 一个忙着找实习工作的大三在校生的真实感受:http://www.cnblogs.com/biehongli/p/6831510.html 1:先说说如何找工作的吧,希望对大三的(非考研的,非靠公务员,想从事本行业的),想出去找工作的有所帮助,我在河南南阳就读,地处偏远,离大城市偏远.开始正题吧,简单说一下自己的

大数据征信如何为一个人建立数据肖像?| 硬创公开课

"凡走过必留下痕迹",大数据时代,你的一举一动都在为你建立一个电子档案,从你有多少张信用卡.每个月消费多少.还款记录如何到你喜欢浏览什么网站.手机是什么型号甚至IP地址对应的位置,有一万多个词条可以刻画你的肖像,银行在不需要跟你打交道的情况下可以靠这种数据肖像决定要不要给你放款.放多少合适.这就是大数据征信. 每个人每天会产生无数的信息,征信机构如何从这里面抽丝剥茧找到有效的数据,又如何给每个数据设置合理的权重去建立模型?机器出现故障之后又如何修正?我们请到了在征信上有多年经验的嘉宾.

【万字总结】探讨递归与迭代的区别与联系及如何求解10000的阶层

递归和迭代 这两个概念也许很多童鞋依旧分不清楚,下面通过求解斐波那契数来看看它们俩的关系吧. 斐波那契数的定义: f0=0 f1=1 fi=fi−1+fi−2(i>1) 递归: (factorial 6) (* 6 (factorial 5)) (* 6 (* 5 (factorial 4))) (* 6 (* 5 (* 4 (factorial 3)))) (* 6 (* 5 (* 4 (* 3 (factorial 2))))) (* 6 (* 5 (* 4 (* 3 (2 (factori

100的阶层真的算不出来吗?

今天看到一个蛮有意思的题,是问"100!"的尾数有多少个零. 尾数有多少个零,实际上指的是从这个数的最后一个不为0的数的下一个(也就是0)开始计数,一直到最后一个数(这些数自然都是0)有多少个0. 好吧,也就是说13330330000的尾数有4个零-- 一个整数若含有因子5,则必然在求解100!时产生一个0,也就是说我们从5开始for循环,每次循环都给加上5,然后计数器加1.同时如果该整数还能被25整除,计数器还应该再加上1.(关于这段话的详细解释请看下文) 因此代码如下: #incl

记一道有意思的算法题Rotate Image(旋转图像)

题出自https://leetcode.com/problems/rotate-image/ 内容为: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Follow up: Could you do this in-place? 简单的说就是给出一个n*n的二维数组,然后把这个数组进行90度顺时针旋转,而且不能使用额外的存储空间. 最初拿到这道题

今天同学找我给做C++作业 觉得这几个题还挺有意思的就发上来。。。

  一. 定义复数类,要求:      (1)属性定义为私有数据成员:      (2)定义2个重载的构造函数:1)由参数传入实部(虚部默认为0),2)由参数传入实部和虚 部:      (3)为私有数据成员定义getXXX.setXXX函数:      (4)定义显示信息函数,使用IO流显示对象的复数表示:      (5)定义加.减.乘.除函数,实现2个复数的四则运算功能:      (6)在主函数中,创建复数类的对象,对各个成员函数进行测试. 二.定义Person类,属性包括:姓名.性别.

详解Android中用于线程处理的AsyncTask类的用法及源码_Android

为什么要用AsyncTask我们写App都有一个原则,主线程不能够运行需要占用大量CPU时间片的任务,如大量复杂的浮点运算,较大的磁盘IO操作,网络socket等,这些都会导致我们的主线程对用户的响应变得迟钝,甚至ANR,这些会使应用的用户体验变差,但是有时又的确需要执行这些耗时的任务,那么我们通常可以使用AsyncTask或者new Thread 来处理,这样把任务放入工作线程中执行,不会占用主线程的时间片,所以主线程会及时响应用户的操作,如果使用new Thread来执行任务,那么如果需要中

经典算法题每日演练——第二十二题 奇偶排序

原文:经典算法题每日演练--第二十二题 奇偶排序   这个专题因为各种原因好久没有继续下去了,MM吧...你懂的,嘿嘿,不过还得继续写下去,好长时间不写,有些东西有点生疏了, 这篇就从简单一点的一个"奇偶排序"说起吧,不过这个排序还是蛮有意思的,严格来说复杂度是O(N2),不过在多核的情况下,可以做到 N2 /(m/2)的效率,这里的m就是待排序的个数,当m=100,复杂度为N2 /50,还行把,比冒泡要好点,因为重点是解决问题的奇思妙想.     下面我们看看这个算法是怎么描述的,既

Delphi中的线程类 - TThread详解<转>

Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了.然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充.线程本质上是进程中一段并发运行的代码.一个进程至少有一个线程,即所谓的主线程.同时还可以有多个子线程.当一个进程中用到超过一个线程时,就是所谓的"多线程".那么这个所谓的"一段代码"