易截截图软件、单文件、免安装、纯绿色、仅160KB

java 多线程 专题

CoreJava多线程
线程的概念:
线程指进程中的一个执行流程,一个进程可以包含多个线程。
每一个进程都独享一块内存空间。每个进程都需要操作系统为其分配独立的内存地址,而同一进程中的多个线程在同一块地址空间工作,他们共享一块内存和资源。
java中有两中方法创建一个多线程类:
1、继承java.lang.Thread类,覆盖Thread类的run()方法
2、实现Runnable接口,实现Runnable接口的run()方法。推荐使用第二种,因为第二种更加的灵活。
 
 
每次调用java.exe的时候操作系统都会启动一个JVM进程,当启动JVM的时候,JVM都会创建一个主线程,改线程从程序入口main方法开始执行,这个线程的名字就叫main,可以在main方法中打印线程名:
System.out.println( Thread.currentThread().getName())来测试。
 
注意:每次程序运行的时候除了自定义的线程外还有一个main线程。
 
线程的调度
sleep(xxx),指当前运行的线程睡眠xxx秒,睡眠的时候当前线程会交出CPU,但是不会交出对象的锁!
 
yield(),指当前运行的线程交出CPU,给其他线程运行的机会。
 
join(),指将CPU交给调用join()方法的线程对象,直到该线程运行结束。
 
线程的各种状态
新建状态(new) //线程刚被创建出来
        Runnable r = new ThreadTest2();
        Thread t1 = new Thread(r,"t1");//创建线程t1 线程处在new状态
 
就绪状态(Runnable)
        t1.start();//启动线程t1,这时候他处在Runnable状态,等待CPU的调度。
 
运行状态(Running)
       如果处在Runnable状态的线程,被调度获得cpu,那么他就处在Running状态
 
阻塞状态(Blocked)
       如果Running中的线程调用sleep(),yield()或者程序运行到等待输入的方法时,他就处在阻塞状态。
       如果执行到了wait()语句,释放锁标记,并进入等待池中。直到某个线程调用notifyAll()方法将其从对象的等待池转进锁池,等待锁标记!
 
死亡状态(Dead)
       线程执行完毕,就处于死亡状态。
 
线程安全的控制
关键就是使用:synchronized 、 wait() 和 notifyAll()  &


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

2年java购物车分析

一.点击图书,展示该书的详细信息
 点击图书→books页面→通过url重写displayBook.jsp?isbn=该书编号 →传入displayBooks页面→
<c:set var="isbn" value="${param.isbn}"></c:set>
<c:forEach var="currentBook" items="${sessionScope.bookTitles}">
 <c:if test="${ ......

通过ibatis的blob 存储java的hashmap

 这几天测试blob获取和存储的时候,被卡了很久,最后才发现是占用了关键字导致无法获取结果,血的教训啊.
以后起名字要用最恶心的,不要用最方便的了.闲话少说,java的hashmap是不能直接存储到数据库中的.
本地数据库为mysql,里面有blob的类型可供使用.方法也很简单,上代码
数据库建表
CREATE TABLE `test` (
`id` ......

整理用Java实现数字转化成字符串左边自动补零方法

Java 中给数字左边补0 (1)方法一
import java.text.NumberFormat; public class NumberFormatTest {     public static void main(String[] args) {
        //待测试数据
        int i = 1;
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号