資源簡介
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
- 上一篇:java 實現的飄雪花效果
- 下一篇:head first java 源代碼
評論
共有 條評論