java编程问题:多线程

来源:百度知道 编辑:UC知道 时间:2024/07/05 04:55:32
本人菜鸟一只,在家自学java,目前又没有办法买到一本合适的教材,所以问点白痴问题,请大侠们指教啊~
假设在applet中建立了两个线程,如何设置优先级,可以使得线程A先执行,然后挂起5000ms,然后线程B在执行,5000ms后,再自动转向线程A? 线程A再执行***ms后,再自动转向线程B?

给你写了一个测试用例,看看就知道了,这里用了同步块的知识,如果不懂同步可以看看这个链接
http://zhidao.baidu.com/question/79461361.html

源码和测试结果如下:
import java.util.Date;
public class ThreadTestB {
public static void main(String[] args) {
Thread t1 = new MyThreadB("线程A");
Thread t2 = new MyThreadB("线程B");
t1.setPriority(Thread.MAX_PRIORITY);
t2.setPriority(Thread.NORM_PRIORITY);
//前面设置的优先级似乎没用的,t1先启动,那么A就先执行锁定动作
t1.start();
t2.start();
}
}

class MyThreadB extends Thread {
static Object obj = new Object();
String threadName;
public MyThreadB(String name) {
this.threadName = name;
}

public void run() {
for (int i = 0; i < 100000; i++) {
synchronized (obj) {<