第22次学习Java
一、
1、
package demo01;
public class Demo01MAainThread {
public static void main(String[] args) {
Person p1= new Person("迪迦");
p1.run();
//System.out.println(0/0);
Person p2= new Person("戴拿");
p2.run();
}
}
2、
package demo01;
public class Demo01Thread {
public static void main(String[] args) {
MyThread mt=new MyThread();
mt.start();
for(int i=0;i<20;i++) {
System.out.println("主线程:"+i);
//if(i==10)
//System.out.println(0/0);
}
}
}
3、
package demo01;
public class MyThread extends Thread{
@Override
public void run() {
for(int i=0;i<20;i++) {
System.out.println("子线程:"+i);
}
}
}
4、
package demo01;
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person(String name) {
this.name = name;
}
public Person() {
}
public void run() {
for(int i=0;i<20;i++)
{
System.out.println(name+"-->"+i);
}
}
}
二、
1、
package demo02;
public class Demo01Thread {
public static void main(String[] args) {
MyThread mt=new MyThread();
mt.start();
new MyThread().start();
new MyThread().start();
new MyThread().start();
System.out.println("main:"+Thread.currentThread().getName());
}
}
2、
package demo02;
public class Demo02ThreadSetName {
public static void main(String[] args) {
MyThreadName mt=new MyThreadName(“迪迦”);
mt.start();
new MyThreadName("旺财").start();
}
}
3、
package demo02;
public class MyThread extends Thread{
@Override
public void run() {
//String name=getName();
//System.out.println("run:"+name);
System.out.println("子"+Thread.currentThread().getName());
}
}
4、
package demo02;
public class MyThreadName extends Thread{
public MyThreadName() {}
public MyThreadName(String name) {
super(name);
}
@Override
public void run() {
//String name=getName();
//System.out.println("run:"+name);
System.out.println("子"+Thread.currentThread().getName());
}
}
三、
1、
package demo03;
public class Demo03Sleep {
public static void main(String[] args) {
for(int i=1;i<50;i++) {
System.out.println(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
四、
1、
package demo04;
public class Demo04Runnable {
public static void main(String[] args) {
//RunnableImpl run=new RunnableImpl();
//Thread t=new Thread(run);
Thread t= new Thread(new RunnableImpl2());
t.start();
for(int i=0;i<20;i++) {
System.out.println(Thread.currentThread().getName()+"-->"+i);
}
}
}
2、
package demo04;
public class RunnableImpl implements Runnable {
@Override
public void run() {
for(int i=0;i<20;i++) {
System.out.println(Thread.currentThread().getName()+"-->"+i);
}
}
}
3、
package demo04;
public class RunnableImpl2 implements Runnable{
@Override
public void run() {
for(int i=0;i<20;i++) {
System.out.println("HelloWorld-->"+i);
}
}
}
五、
1、
package demo05ThreadSafe;
public class Demo01Ticket {
public static void main(String[] args) {
RunnableImpl run= new RunnableImpl();
Thread t0= new Thread(run);
Thread t1= new Thread(run);
Thread t2= new Thread(run);
t0.start();
t1.start();
t2.start();
}
}
2、
package demo05ThreadSafe;
public class RunnableImpl implements Runnable{
private int ticket =100;
Object obj= new Object();
@Override
public void run() {
while(true) {
//synchronized(obj){
if(ticket>0) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"-->正在卖第"+ticket+"张票");
ticket--;
}
}
//}
}
}