一般多线程用这个:
ThreadPoolExecutor executor
Future future = executor.submit(harReturnValuetask);
建议你参考下这篇资料:http://www.kuucen.com/article/198
ThreadPoolExecutor executor
Future future = executor.submit(harReturnValuetask);
建议你参考下这篇资料:http://www.kuucen.com/article/198
public static void main(String[] args) {
new Thread(new myThread(1)).start();
new Thread(new myThread(2)).start();
}
}
class myThread implements Runnable{
static int i = 1;
int k;
myThread(int k){
this.k = k;
}
synchronized public void run() {
while(i <= 100){
System.out.println(k + "线程:" + i);
i++;
}
}
输出:
1线程:1
2线程:1
1线程:2
2线程:3
1线程:4
2线程:5
1线程:6
2线程:7
1线程:8
2线程:9
1线程:10
2线程:11
1线程:12
2线程:13
1线程:14
2线程:15
1线程:16
2线程:17
1线程:18
2线程:19
1线程:20
2线程:21
1线程:22
2线程:23
1线程:24
2线程:25
1线程:26
2线程:27
1线程:28
2线程:29
1线程:30
2线程:31
1线程:32
2线程:33
1线程:34
2线程:35
1线程:36
2线程:37
1线程:38
2线程:39
1线程:40
2线程:41
1线程:42
2线程:43
1线程:44
2线程:45
1线程:46
2线程:47
1线程:48
2线程:49
1线程:50
2线程:51
1线程:52
2线程:53
1线程:54
2线程:55
1线程:56
2线程:57
1线程:58
2线程:59
1线程:60
2线程:61
1线程:62
2线程:63
1线程:64
2线程:65
1线程:66
2线程:67
1线程:68
1线程:70
1线程:71
2线程:69
1线程:72
2线程:73
1线程:74
2线程:75
1线程:76
2线程:77
1线程:78
2线程:79
1线程:80
2线程:81
1线程:82
2线程:83
1线程:84
2线程:85
1线程:86
2线程:87
1线程:88
2线程:89
1线程:90
2线程:91
1线程:92
2线程:93
1线程:94
2线程:95
1线程:96
2线程:97
1线程:98
2线程:99
1线程:100
public static void main(String[] args) {
ThreadNew threadNew = new ThreadNew();
new Thread(threadNew).start();
new Thread(threadNew).start();
new Thread(threadNew).start();
new Thread(threadNew).start();
}
}class ThreadNew implements Runnable{
int i=100;
@Override
public void run() {
while(true){
synchronized (this) {
if(i>0){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"i:"+(i--));
}else{
break;
}
}
}
}
}哦了 谢谢你们
public static void main(String[] args) {
ThreadNew threadNew = new ThreadNew();
new Thread(threadNew,"1").start();
new Thread(threadNew,"2").start();
}
}class ThreadNew implements Runnable{
static int i = 1;
public void run() {
while(true){
synchronized (this) {
if(i<=100){
System.out.println(Thread.currentThread().getName()+"i:"+(i++));
}else{
break;
}
}
}
}
}