java学习之线程笔记

学习,享受他的快乐,才不会成为一种苦恼拖累。

随手写写,记录自己的点滴进步。才会变得更有动力。

今天学习了一下java的线程。看到这个名字很随意,自然的就想到了进程。因为在windows中进程很容易见到。每当某个程序没有响应后,我们都会很自然的打开资源管理器,结束任务,结束不了的就要去进程中结束进程。这样就可以将它关闭了。

而线程在我的理解中他是进程的一部分,或者说进程是一名长官,而线程是长官手下的兵。战斗时要保证长官活着。长官挂了,士兵也应该死光了吧(个人想法)。进程被杀死了,他下面的线程也应该over了。当然也存在例外,不介绍,自己都感觉还没学会,搞不清。

对了,还有线程是并不是同时进行的。所谓的同时仅仅是一种感官的错觉。他们也是排队滴。至于谁先来,我现在的理解,加感觉是:看人品。。。或许以后理解多了会有不同的看法吧。他们谁人品好,谁抢到了cpu,哪么他就运行喽。

java中的线程:

java.long.Thread类 和 java.long.Runnable接口

学习嘛,看文档呗。

java.long.Thread类实现了java.long.Runnable接口

java.long.Runnable中只存在一个方法:

public abstract void run();

使用实现接口Runnable的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的run方法。

在Thread类中 run方法是这么写的

如果该线程使用了独立的Runnable 运行对象构造的,则调用该Runnable 对象的run方法;否则,该方法不执行任何操作并返回。

Thread的子类应该重写此方法。

个人没有很弄明白这东西到底嘛意思。。。。。没法子看源码呗:

Thread中run方法:

public void run(){
if(target !=null){
target.run();
}
}

target是Runnable对象,target the object whose run() method gets called。

尝试翻译下,不对的话就当笑话看吧。run()方法调用的target对象。

说实话还是没懂run()方法到底怎么用。现在需要一个例子。

好吧。在api中我没找到。。。求助一下google

ok,引用一下别人写的喽:

run()方法只是类的一个普通方法,如果直接调用run()方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等run()方法体执行完毕后才可执行下面的代码,这样就没有达到写线程的目的。

把需要并处理的代码放在run()方法中,start()方法启动线程将自动调用run()方法,这是由jvm的内存机制规定的。并且run()方法必须是public访问权限,返回值类型为void。

ps:以上引用地址:http://software.intel.com/zh-cn/blogs/2010/09/15/start-run

ok问题解决。顺带着将start()方法也解决了下。

写到这吧。搜段代码来练练手。

顺带着还可以看看别人对线程的理解。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值