资源简介

java、win32、pthread三种线程库均有 适合用来学习多线程操作的入门例程

资源截图

代码片段和文件信息

import java.util.*;

public class JavaMultithread
{
static int[][] a;
static int[][] b;
static int[][] c;
static int axaybxbycxcy;

public static void main(String[] args){
Scanner input = new Scanner(System.in);  
int ij;
Thread[] t; 


//输入部分
System.out.println(“Please input the size of Matrix A like \“N M\“:“);
ax = input.nextInt();
ay = input.nextInt();
//System.out.println(ax+“ “+ay);
System.out.println(“Please input Matrix A:“);
a = new int[ax][ay];
for(i=0;i for(j=0;j a[i][j]=input.nextInt();
/*for(i=0;i for(j=0;j System.out.print(a[i][j]+“ “);
System.out.println();
}*/
System.out.println(“Please input the size of Matrix B like \“N M\“:“);
bx = input.nextInt();
by = input.nextInt();
//cout< System.out.println(“Please input Matrix B:“);
b = new int[bx][by];
for(i=0;i for(j=0;j b[i][j]=input.nextInt();
c = new int[ax][by];

//单开线程进行计算
cx=ax;cy=by;
t = new Thread[cx*cy];
int count = 0;
for(i=0;i for(j=0;j t[count] = new Thread(new MyThread(ij));
                t[count].start();
                count++;
}

//判断线程是否结束

for(i=0;i for(;;){
if(!(t[i].isAlive()))
break;
}
}

//输出部分
System.out.println(“Matrix C is:“);
for(i=0;i for(j=0;j System.out.print(c[i][j]+“ “);
System.out.println();
}
}
}

class MyThread implements Runnable
{
int ij;
    int task;
    public MyThread(int i2 int j2) {
this.i=i2;
this.j=j2;
}    
public void run()
    {
int tot=0;
for(int m =0;m tot+= JavaMultithread.a[i][m]*JavaMultithread.b[m][j];
JavaMultithread.c[i][j]=tot;
    }
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1533  2011-10-09 16:55  pThreadMultithread.cpp

     文件       1488  2011-10-09 17:06  Win32Multithread.cpp

     文件       1901  2011-10-09 16:21  JavaMultithread.java

----------- ---------  ---------- -----  ----

                 4922                    3


评论

共有 条评论