Java线程,java什么是对象什么是线程

1 , java什么是对象什么是线程简单说:对象就是一个事物,线程就像一条工厂流水线 。不知道你之前有没有学过其它面向对象的编程 , 如果学过了,你应该很清楚这概念的 。在Java中,比如java类就是对象,有人说java万物均是对象 , java把所有的有属性方法的东西都看做一个类 , 也就是一个对象 。线程呢?线程就是流水线,一个应用程序被执行时这个程序就像一个工厂,工厂很忙很忙 , 那么这个工厂就必须有很多条流水线 , 线程就是具有一定独立性的、线程之间可以相互协作的流水线;也就是说一个应用程序可以创建N个线程 。
2 , Java核心的线程是什么CreatThread传回的是一个线程的handle句柄 , 以此来标识该线程而不是线程本身;线程的内核对象其实就是操作系统维护的一个数据结构,其中存放着该线程的一些相关数据,操作系统借由它来标识管理和调度线程 。在Java中,如果要想做平行任务处理的话,会在Runnable里面执行的代码 。可以继承Thread类,或者实现Runnable接口 。可以创建一个Thread类,也可创建一个Runnable对象,然后也需要一个Thread类来调用它 。
3,java中线程的概念是什么 1. 最为典型的就是你在网络上放一个服务端,一个客户端访问时,就会新建一个线程处理这个客户端的事务,这样的话只要不断新建线程就可以处理多个用户的请求了;2. 游戏里面,一个精灵向一个方向移动的时候,通常我们为了效果更好一点,会在一个方向为精灵准备两幅不同的图片 。比如向前走,我们会准备一幅出左脚的图片和一副右脚的图片(如果只有一幅图片的话,那么精灵移动的时候就象在溜冰了,呵呵)精灵向一个方向移动的时候我们会建两个线程让这两幅图片交替绘制,这样就产生了走动的效果了 。【Java线程,java什么是对象什么是线程】
4 , Java中什么叫做线程java中的线程就是新开辟一个任务执行,和主线程同步执行,new Thread().start();用来开启线程 。线程是进程中的一个实体,是被系统独立调度和分派的基本单位 , 线程自己不拥有系统资源 , 只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源 。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行 。由于线程之间的相互制约,致使线程在运行中呈现出间断性 。线程也有就绪、阻塞和运行三种基本状态 。线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU高淇Java300集视频教程169集有详细的讲解5,关于Java线程问题只有拥有同一个对象锁的多个进程才能实现同步,你的程序分明是两个对象,可以改成这样public classTestThrea2/*** @param args*/ static Object o=new Object(); public static void main(String[] args)// TODO Auto-generated method stubnew MainTwo(o).start();// 启动线程for (int i = 0; i < 5; i++)synchronized(o)new Bank().getMoney(Thread.currentThread().getName());//把线程名字传进去!}} }}class MainTwo extends ThreadObject o; MainTwo(Object o) this.o=o; } public void run()for (int i = 0; i < 5; i++)synchronized(o)new Bank().getMoney(Thread.currentThread().getName());//把线程名字传进去!}} }}class Bankprivate static int num = 0; public void getMoney(String name)num++;System.out.println(name + " 是第" + num + "次取钱!");tryThread.currentThread().sleep(1);//停止1毫秒} catch (InterruptedException e)} }}1.在线程中 , 有一个run()方法 , 它用来执行一段程序,一个类如果继承了Thtead , 即自身具有了多线程所具备的功能 , 所以在自己的类中,我们需要覆盖run()方法,并且使用start()方法开启线程 。2.我们会想,如果我抢到了线程,准备干嘛呢?我们就将准备干的工作写到run()方法里面 。3.如果我们想让一个正在运行的进程暂停一会,我们可以使用sleep(time)方法,其中time参数为毫秒单位 。4.另假如 , 我们想在一个GUI的界面中实现多线程功能呢,我们知道,实现GUI,我们经常会继承类JFrame,就不能再继承线程了 。但因为类是单继承多实现的,所以我们可以实现线程的一个接口Runnable,假设我们的类就可以写成这样了:public class Test implements Runnable 。但是切记的是,在Test类中,我们一定需要实现它的Run()方法:public void run()具体你可以参照下这篇文章: http://www.java50.com/post/26.html想要两个不同对象 , 就别用sleep了,换wait试试吧这段代码就是启动线程输出当前线程名+num的值 没错 为什么要抛异常sleep就是让线程停止 但拥有该对象的对象锁wait是让线程等待 把对象锁交还如果仅仅是想获得Bank类中getMoney方法的使用次数 根本不需要这么复杂用线程同步来做 调用sleep方法也不会有异常

    推荐阅读