我是android编程的新手,很抱歉以前是否曾问过这种类型的问题。我越来越麻烦,同时创造threads.In我的代码,我已经初始化,int i=500;
并且在我的第一个线程T1,我想增加T1的价值if(i<5000)
,也对我的线程T2要检查其中T2的值递减的情况if(i>0)
,请帮助...提前致谢
这是您针对此特定增减问题所需的纯Java线程android实现...
// class lass level declarations
private static int DEF_VALUE = 500;
private static int MIN_VALUE = 0;
private static int MAX_VALUE = 1000;
private AtomicInteger i = new AtomicInteger(DEF_VALUE);
private Thread t1 = null;
private Thread t2 = null;
private void initThreads() {
Log.i(TAG, "Initializing Threads...");
t1 = new Thread(new Runnable() {
@Override
public void run() {
Log.i(TAG, "Starting T1.");
while (i.get() < MAX_VALUE) {
i.incrementAndGet();
Log.d(TAG, String.format("Incremented by T1, i = %d", i.get()));
}
Log.i(TAG, "Finishing T1.");
}
});
t2 = new Thread(new Runnable() {
@Override
public void run() {
Log.i(TAG, "Starting T1.");
while (i.get() > MIN_VALUE) {
i.decrementAndGet();
Log.d(TAG, String.format("Decremented by T2, i = %d", i.get()));
}
Log.i(TAG, "Finishing T2.");
}
});
t1.start();
t2.start();
}
希望这可以帮助...:)
更新:源已更新为使用AtomicInteger而不是plain int以避免并发访问问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句