遵循generic/Fibonacci.java的形式,创建一个任务,它可以有n个费波纳奇数字组成的序列,其中
n是通过任务的构造器而提供的,使用线程创建大量的这种任务并驱动它们。
费波纳奇数列,具体数列为:1,1,2,3,5,8,13,21,34,55,89,144,233,……
public class FibonacciRunnable implements Runnable {
private int n;
// 构造器初始化n成员变量
public FibonacciRunnable(int x) {
this.n = x;
}
// 费波纳奇数算法
public int f(int y) {
return y > 2 ? f(y - 1) + f(y - 2) : 1;
}
// 任务
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 1; i <= n; i++) {
System.out.println(f(i));
}
}
public static void main(String[] args) {
// 使用线程创建大量的这种任务并驱动它们
new Thread(new FibonacciRunnable(7)).start();
}
}
run as:
1
1
2
3
5
8
13
1
2
3
5
8
13
实现一个Runnable类,在run()内部打印一个消息,然后调用yield(). 重复这个操作3次,然后从run()中返回。在构造器中放方面的内容,对于实现一个Runnable类,在run()内部打印一个消息,然后调用yield(). 重复这个操作3次,然后从run()中返回。
package
com.nstc.test4;
public
class
RunnableDemo
implements
Runnable {
private
String startMsg;
private
String endMsg;
public
RunnableDemo(String startMsg, String endMsg) {
super
();
this
.startMsg = startMsg;
this
.endMsg = endMsg;
}
@Override
public
void
run() {
System.out.println(
this
+startMsg+
" start"
);
for
(
int
i =
0
; i <
3
; i++) {
System.out.println(
"run "
+ i );
Thread.yield();
}
System.out.println(
this
+endMsg+
" end"
);
}
public
static
void
main(String[] args) {
RunnableDemo demo=
new
RunnableDemo(
"a"
,
"b"
);
Thread thread1=
new
Thread(demo);
thread1.start();
Thread thread2=
new
Thread(demo);
thread2.start();
Thread thread3=
new
Thread(demo);
thread3.start();