关于Java线程同步问题

kxliu1990 2017-12-15 03:43:37
在NetUtil类 中的某个方法下写了个for循环,在for循环中new了一个线程
for (int i = 1; i < 255; i++) {
new Thread(new Runnable() {
@Override
public synchronized void run() {
.........
}
}
那么这个run方法的锁是指的哪个?
怎么判断所有的线程已经执行完了?
求大神解答。越详细越好,谢谢!
...全文
188 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonFY 2017-12-16
  • 打赏
  • 举报
回复
demo 网上 找 一大把
kxliu1990 2017-12-15
  • 打赏
  • 举报
回复
我是个菜鸟,求demo
江三木洛 2017-12-15
  • 打赏
  • 举报
回复
引用 2 楼 kxliu1990 的回复:
我的需求是:创建254个线程去执行254个任务,但是每个任务只能被执行一次
那你直接用AsyncTask不得了
kxliu1990 2017-12-15
  • 打赏
  • 举报
回复
我的需求是:创建254个线程去执行254个任务,但是每个任务只能被执行一次
只为搞笑 2017-12-15
  • 打赏
  • 举报
回复
你可以说下你的需求。首先你这个代码并不能线程同步吧,我是猜的,因为每次都是一个新的匿名类。方发锁也得是同一个类里才有效啊。其次,run方法加锁,那不是让所有线程按顺序执行了么,那为什么不只用一个线程呢

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧