java里只能允许单一继承,即一个子类只能有一个父类,所以java中如果一个类继承了某一个类,同时又想采用多线程技术的时候,就不能用Thread类产生线程,此时要用Runnable接口来创建线程。
而且使用Runnable接口创建多个线程时,这些线程的资源是共享的。
而且使用Runnable接口创建多个线程时,这些线程的资源是共享的。
解决方案 »
- HashSet中remove()只删除相同对象吗?
- String的基础问题
- 如何改变JAVA程序的窗体风格?小白提问。。。。
- 请问有没办法在下载文件时显示进度?
- 想实现windows画图的画直线的功能,直线随鼠标移动而移动
- Java 有哪些开发工具?它们各自基于什么操作系统平台?哪个开发工具最好?
- 请高手指教,如何在绘图时消除闪烁?在线急等!!
- 关于Package的一个简单疑问。
- 同时显示一个JFrame和一个JDialog,在没有点击JDialog确定前不能点击JFrame,怎么做?
- 来通俗的介绍一下SUN的SL-275和SL_285,十分感谢。
- 数字转换成大写程序缺陷疑问
- java制图问题求教
Thread tt = new Thread(t1,"tt");
Thread ttt = new Thread(t1,"ttt");
和T t1 = new T();
T t2 = new T();
Thread tt = new Thread(t1,"tt");
Thread ttt = new Thread(t2,"ttt");
这两种方式会有哪些差别?
这就非常好理解了。
第一个里:
tt线程执行t1这个task,ttt线程也执行t1这个task。
第二个里:
tt线程执行t1这个task,ttt线程执行t2这个task。
比如你T 里面有一个int i=10;你run里面写个循环将i减1并打印一次,直到i等于0位置。
你建立一个T对象的话,那么这两个线程公用这一个i,所以一共输出10,9,8........0;
你建立两个T对象放到线程里面,那这两个线程都有自己的i,所以每一个都输出,就有两个10,9,8........0;