写了个 排序的方法
然后 开了 4个线程 调用 排序方法
排序方法中有个 属于主类 的变量。定义操作为var++ 初值为0
等线程 运行完了
var的 值 我觉得 应该是 4
可是事实是不确定。
为什么 该怎么弄?同志们 帮忙。。
然后 开了 4个线程 调用 排序方法
排序方法中有个 属于主类 的变量。定义操作为var++ 初值为0
等线程 运行完了
var的 值 我觉得 应该是 4
可是事实是不确定。
为什么 该怎么弄?同志们 帮忙。。
解决方案 »
- 构造器的初始化顺序问题(这代码为什么这样)
- 请教大侠:用JBuilder 2005 生成javadoc 时,提示请增加内存,如何增加JBuilder中JVM的内存?如何在控制台生成javadoc?
- 学了好多的软件知识,没工作
- Activemq发送blobmessage报错
- 运行时出错
- 请问如何用java编程实现telnet登录过程?
- 急!急!急
- 请问调用notify后被选中线程的wait是立刻返回,还是等到调用notify的线程退出synchronized块后再返回?
- 大家好。这是JAVA编程思想P266-267上的一个例子,高手请帮忙看一下为什么编译通不过。谢谢。
- jb4的注册吗是什么呀?
- java swt
- 读取文本文件时CPU 100% ??奇怪了。
我在主线程 里面新开了4个线程
并启动
我想让这四个线程 启动后主线程暂停
等他们运行完了 主线程 再运行。不知道有好方法没?
我用isAlive 测试 线程结束没
好像不行 测试结束 但还运行
好像测试的只是当时线程 是否活跃
我想测试线程 是否运行结束 应该用什么办法?
为每个线程生成一个对象,在线程运行函数结束时调用这个对象的notify方法,主线程如果调用了同一个对象的wait方法,就会阻塞到notify方法调用完成。这时就可以确定线程已经停止运行了。也可以用boolean变量的方法。
你的第一个问题,如果没有对那个var进行synchronized保护,各个线程都对它操作,结果就是不确定的。
在你执行的那个方法上用synchronized
public synchronized void method(){}这样就不会在一个线程中调用时影响到其他线程了