您的位置:首页 > 编程语言 > Java开发

JAVA 并发编程之线程管理1

2014-11-30 12:11 381 查看
使用计算机时,可以同时做几件事情:可以一边听音乐,一边写文档,还可以一边看邮件。因为操作系统支持并发任务,从而使得这些工作得以同时进行。并发编程是一种平台和机制提供多个任务或者程序同时运行,并且相互通讯来交换数据(或者与其他任务进行同步等待)。

在java语言中,线程跟其他元素一样,都是对象。java提供了两种方式创建线程:

继承Thread类,并覆盖run()方法。

创建实现一个Runnable接口的类。使用带参数的Thread构造器来创建Thread对象。这个参数就是实现Runnable接口的一个对象。

代码参考如下:

1.创建一个Calculator类,并实现了Runnable接口。

public class Calculator implements Runnable{}

2.声明一个私有属性的int变量number,并编写这个类的构造器,用来为属性number设置值。

private int number;

public Calculator(int number){
this.number=number;
}

3.编写run()方法。这个方法用来执行我们创建的线程指令。下面它将对指定的数字进行乘法表运算。

public void run(){
for(int i=1;i<=10;i++){
System.out.printf("%s: %d * %d =%d \n",Thread.currentThread().getName(),number,i,i*number);
}

4.编写主类。创建一个名为Main的类,创建的时候同时声称main()方法。

public class Main {
public static void main(String[] args){}}

5.在main()方法中,编写一个执行10次的循环。在每次循环中创建一个Calculator对象,一个Thread对象,这个Thread对象使用创建的Calculator对象作为构造器的参数,然后调用刚创建的Thread对象的start()方法。

Calculator calculator =new Calculator(i);

Thread thread=new Thread(calculator);
thread.start();

6.运行结果:

Thread-1: 1 * 1 =1
Thread-8: 8 * 1 =8
Thread-8: 8 * 2 =16
Thread-7: 7 * 1 =7
Thread-3: 3 * 1 =3
Thread-3: 3 * 2 =6
Thread-0: 0 * 1 =0
Thread-2: 2 * 1 =2
Thread-5: 5 * 1 =5
Thread-9: 9 * 1 =9
Thread-9: 9 * 2 =18
Thread-9: 9 * 3 =27
Thread-9: 9 * 4 =36
Thread-9: 9 * 5 =45
Thread-9: 9 * 6 =54
Thread-9: 9 * 7 =63
Thread-9: 9 * 8 =72
Thread-9: 9 * 9 =81
Thread-9: 9 * 10 =90
Thread-10: 10 * 1 =10
Thread-4: 4 * 1 =4
Thread-6: 6 * 1 =6
Thread-6: 6 * 2 =12
Thread-4: 4 * 2 =8
Thread-4: 4 * 3 =12
Thread-4: 4 * 4 =16
Thread-4: 4 * 5 =20
Thread-10: 10 * 2 =20
Thread-5: 5 * 2 =10
Thread-2: 2 * 2 =4
Thread-2: 2 * 3 =6
Thread-2: 2 * 4 =8
Thread-0: 0 * 2 =0
Thread-3: 3 * 3 =9
Thread-7: 7 * 2 =14
Thread-7: 7 * 3 =21
Thread-8: 8 * 3 =24
Thread-1: 1 * 2 =2
Thread-8: 8 * 4 =32
Thread-7: 7 * 4 =28
Thread-3: 3 * 4 =12
Thread-0: 0 * 3 =0
Thread-2: 2 * 5 =10
Thread-2: 2 * 6 =12
Thread-2: 2 * 7 =14
Thread-5: 5 * 3 =15
Thread-10: 10 * 3 =30
Thread-4: 4 * 6 =24
Thread-6: 6 * 3 =18
Thread-4: 4 * 7 =28
Thread-10: 10 * 4 =40
Thread-5: 5 * 4 =20
Thread-2: 2 * 8 =16
Thread-0: 0 * 4 =0
Thread-3: 3 * 5 =15
Thread-3: 3 * 6 =18
Thread-7: 7 * 5 =35
Thread-8: 8 * 5 =40
Thread-1: 1 * 3 =3
Thread-8: 8 * 6 =48
Thread-7: 7 * 6 =42
Thread-3: 3 * 7 =21
Thread-3: 3 * 8 =24
Thread-3: 3 * 9 =27
Thread-3: 3 * 10 =30
Thread-0: 0 * 5 =0
Thread-0: 0 * 6 =0
Thread-0: 0 * 7 =0
Thread-0: 0 * 8 =0
Thread-2: 2 * 9 =18
Thread-5: 5 * 5 =25
Thread-10: 10 * 5 =50
Thread-10: 10 * 6 =60
Thread-4: 4 * 8 =32
Thread-6: 6 * 4 =24
Thread-4: 4 * 9 =36
Thread-10: 10 * 7 =70
Thread-5: 5 * 6 =30
Thread-2: 2 * 10 =20
Thread-0: 0 * 9 =0
Thread-7: 7 * 7 =49
Thread-8: 8 * 7 =56
Thread-1: 1 * 4 =4
Thread-1: 1 * 5 =5
Thread-1: 1 * 6 =6
Thread-8: 8 * 8 =64
Thread-7: 7 * 8 =56
Thread-0: 0 * 10 =0
Thread-5: 5 * 7 =35
Thread-5: 5 * 8 =40
Thread-5: 5 * 9 =45
Thread-5: 5 * 10 =50
Thread-10: 10 * 8 =80
Thread-4: 4 * 10 =40
Thread-6: 6 * 5 =30
Thread-10: 10 * 9 =90
Thread-10: 10 * 10 =100
Thread-7: 7 * 9 =63
Thread-7: 7 * 10 =70
Thread-8: 8 * 9 =72
Thread-8: 8 * 10 =80
Thread-1: 1 * 7 =7
Thread-6: 6 * 6 =36
Thread-6: 6 * 7 =42
Thread-6: 6 * 8 =48
Thread-6: 6 * 9 =54
Thread-6: 6 * 10 =60
Thread-1: 1 * 8 =8
Thread-1: 1 * 9 =9
Thread-1: 1 * 10 =10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: