java多线程
来源:互联网 发布:消费客户年龄数据分析 编辑:程序博客网 时间:2024/06/06 13:20
今天对java多线程进行了一次总体的了解,线程的启动---->暂停---->中断---->销毁这几个状态进行统一的了解
线程的启动:
1.Thread t1 = new Thread(); t1.start();
2. Runnable r = new Runnable(); Thread t2 = new Thread(r); t2.start();
3.new Thread(){public void run(){}}.start();
4.Runnable r = new Runnable(){public void run(){}}; new Thread(r).start();
这样的话线程就会处于运行状态,在多线程的情况下,每一次的运行情况都不样,一个线程所属的线程组也都不一样。
假如:我现在有一个需求,我要让一个对象生产一个东西出来,就消费掉,生产一个就消费一个?
这时候就涉及到了同步的概念,利用锁的机制能够很好的把握不要多生产,也不要多消费。synchronized(对象){同步代码块},可以对函数进行同步,也可以对一个代码块进行同步,找到哪些是需要共享的数据,就对其进行同步使用。
在JDK1.5以后,我们使用了另外一种锁的机制:使用Lock接口来锁,Lock lock = newReentrantLock(); lock.lock();就是进行了加锁,然后通过Condition condition = lock.newCondition();通过condition.await();condition.signal();condition.signalAll();来使线程处于等待状态或者唤醒别的对象。最后特别要注意必须对这个锁进行释放,lock.unlock();在try{}catch(Exception e){}finally{lock.unlock()};
说完了启动并且启动之后应该注意的问题,就说说暂停了:Thread暂停是使用Thread.yield()方法来进行暂停操作,短暂的暂停
Thread的中断操作:Thread.interrupt();就是对线程的暂停操作
如何停止一个线程的运行,不能用Thread.stop();因为现在已经过时了,可以通过一个boolean变量对循环的控制
- 【Java多线程】多线程死锁
- Java 多线程
- java 多线程
- java多线程
- JAVA多线程
- java多线程
- JAVA多线程
- java多线程
- JAVA 多线程
- Java多线程
- java多线程
- JAVA 多线程
- Java 多线程
- Java 多线程
- java多线程
- Java 多线程
- Java多线程
- java 多线程
- 有关python调用dll的问题,指针传递的问题
- iPhone/iPad开发扎记2012/02/17
- port wifi to ICS(4.0.3)
- 如何在oracle中创建Schema
- Notes On <Enterprise AJAX – Strategies for Building High Performance Web Applications> - 1
- java多线程
- Myeclipse8.5 反编译插件 jad 安装
- (转载)男人如何更好地休息
- android UI设计,android ui开发,android 页面设计,android页面布局
- c++中static关键词的三种作用
- 两百+ js效果!?
- android TabHost 使用
- 命令行运行PHP文件的用法(PHP超大文件的解析技巧)
- PL/SQL 导出表