黑马程序员-MultiThread(1)

来源:互联网 发布:分类汇总后数据复制 编辑:程序博客网 时间:2024/06/08 19:53

---------------------android培训、java培训、期待与您交流! -------------------------

线程运行状态:

创建线程:

//方式一: 继承Thread 不建议class MyThread extends Thread {      @Override      public void run() {           .....      }}
//方式二: 实现Runnable接口, 建议使用class MyRunnable implements Runnable {     @Override     public void run() {          ....     }}
//方式三:利用java.util.concurrent.Executors, 建议使用ExecutorService executor = Executors.newCachedThreadPool();executor.excute(new Runnable() {...});

线程运行状态信息:

Thread t = ...;//线程运行状态t.getState();//获取线程是否已经Interruptedt.isInterrupted();Thread.interrupted(); //获取当前线程的中断状态,给清除当前线程的中断状态标识//设置后台线程t.setDaemon(true); //要在start调用前使用t.getDeamon();//线程优先级信息, 不建议使用t.setPriority(Thread.MAX_PRIORITY);t.getPriority(); //默认与父线程的优先级相同

线程同步与通讯:

//Method Synchronizedpublic synchronized void method() {   while(condition) {       wait();   }   notify()/notifyall();  //}//Synchronized blockpublic void method() {    ...    synchronized(lock) {      ....    }}public void method() {     lock.lock();     try{         condition.await();         ....         condition.signall();     }     finally {         lock.unlock();     }}

---------------------android培训、java培训、期待与您交流! -------------------------

0 0
原创粉丝点击