写了个 排序的方法
然后 开了 4个线程 调用 排序方法
排序方法中有个 属于主类 的变量。定义操作为var++ 初值为0
等线程 运行完了
var的 值 我觉得 应该是 4
可是事实是不确定。
为什么 该怎么弄?同志们 帮忙。。
然后 开了 4个线程 调用 排序方法
排序方法中有个 属于主类 的变量。定义操作为var++ 初值为0
等线程 运行完了
var的 值 我觉得 应该是 4
可是事实是不确定。
为什么 该怎么弄?同志们 帮忙。。
我在主线程 里面新开了4个线程
并启动
我想让这四个线程 启动后主线程暂停
等他们运行完了 主线程 再运行。不知道有好方法没?
我用isAlive 测试 线程结束没
好像不行 测试结束 但还运行
好像测试的只是当时线程 是否活跃
我想测试线程 是否运行结束 应该用什么办法?
为每个线程生成一个对象,在线程运行函数结束时调用这个对象的notify方法,主线程如果调用了同一个对象的wait方法,就会阻塞到notify方法调用完成。这时就可以确定线程已经停止运行了。也可以用boolean变量的方法。
你的第一个问题,如果没有对那个var进行synchronized保护,各个线程都对它操作,结果就是不确定的。
在你执行的那个方法上用synchronized
public synchronized void method(){}这样就不会在一个线程中调用时影响到其他线程了