简单的线程Runnable实现线程的测试

/*
  需求:
  写一个简单的线程测试,采用实现的Runnable的run()
  打印一句句简单自定义线程名字的语句Thread World Wecome You!!
  和默认的线程名字的语句:This is defalut ThreadName:默认的线程名字
*/
 
  class TEST_Thread implements Runnable{
       private String name;
        public void getName(String name){
          this.name=name;
        }
        public void show(Object obj){
           System.out.println(obj);
        }
        public void run(){
              if(name=="小明")
              show(name+":Runnable World Wecome You!!");
             else
              show("This is defalut ThreadName:"+Thread.currentThread().getName());
        }

}

public  class Runnabletest{

public static void main(String args[]){
               //创建线程对象
                TEST_Thread TT=new TEST_Thread();
                TEST_Thread TT2=new TEST_Thread();
                //将线程对象封装到Thread中
                Thread  t1=new Thread(TT);
                Thread  t2=new Thread(TT2);
                TT2.getName("小明");
                //启动start();
                t1.start();
                t2.start();
        }  
  }
/*
打印结果:
This is defalut ThreadName:Thread-0
小明:Thread World Wecome You!!
*/

时间: 2024-12-20 21:38:13

简单的线程Runnable实现线程的测试的相关文章

多线程简单实例(3)线程池

为什么要用线程池? 每次用线程的时候都去new一个,不麻烦么.如果线程用到较少可以.当需要大量用到线程时,频繁的创建线程,而且创建线程和销毁带来的开销也会随之增多. 线程池就像一个执行器.而我们需要执行的业务逻辑,在我们编写的实现了Runnable接口的run方法里面. 需要执行就扔到线程池里,我只要保证我的业务逻辑在run里面已经实现了.执行找线程池这个代工. 线程池ThreadPoolExecutor类,下面是该类的构造方法. public class ThreadPoolExecutor

写的一个简单定时器(非独立线程)

//Callback.h #ifndef __CALLBACK_H__ #define __CALLBACK_H__ typedef void (*T_CallBack)(void *); typedef struct { T_CallBack cb; void *obj; }ST_CallBack; int __NewTimer(void* obj, int interval, bool isloop, T_CallBack cb); void __DeleteTimer(int handle

Java   "线程任务" 与 "线程"   概念的简单理解

分享一下自己对"线程任务","线程" 的简单理解:

2018-08-25多线程Thread类+Runnable接口+线程的6种状态

多线程: 进程:进程指正在运行的程序:确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能(进入内存运行的程序成为进程)! 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程!一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序(线程是执行单元,一个进程可以包括多个线程,一个程序可以有多个进程)! 单线程程序:若有多个任务只能依次执行(这个任务执行完毕,下一个任务开始执行)!如:去网吧上网,网吧只能让一

单例模式:Qt本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这个宏不但定义简单,还可以获得线程安全性

标题起的是有点大 主要是工作和学习中,遇到些朋友,怎么说呢,代码不够Qt化 可能是由于他们一开始接触的是 Java MFC 吧 接触 Qt 7个年头了 希望我的系列文章能抛砖引玉吧 单例模式 很多人洋洋洒洒写了一大堆 比如这里 http://xtuer.github.io/qtbook-singleton/ 比如这里 http://m.blog.csdn.net/Fei_Liu/article/details/69218935 但是Qt本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这

发一个可伸缩线程池大小的python线程池。已通过测试。

发一个可伸缩线程池大小的线程池. 当任务不多时候,不开那么多线程,当任务多的时候开更多线程.当长时间没任务时候,将线程数量减小到一定数量. """ 可自动实时调节线程数量的线程池. """ import atexit import queue import sys import threading import time import weakref from app.utils_ydf import LoggerMixin, nb_print,

线程基础:线程池(6)——基本使用(中)

(接上文:<线程基础:线程池(5)--基本使用(上)>) 3-4.JAVA主要线程池的继承结构 我们先来总结一下上文中讨论过的内容,首先就是JAVA中ThreadPoolExecutor类的继承结构.如下图所示: ThreadPoolExecutor:这个线程池就是我们这两篇文章中介绍的重点线程池实现.程序员可以通过这个线程池中的submit()方法或者execute()方法,执行所有实现了Runnable接口或者Callable接口的任务:ThreadPoolExecutor对于这些任务的执

线程基础:线程池(5)——基本使用(上)

1.概述 从本文开始,我将用两篇文章的篇幅,为各位读者呈现JAVA中原生的线程池技术.第一篇文章,我将讲解JAVA原生线程池的基本使用,并由此延伸出JAVA中和线程管理相关的类结构体系,然后我们详细描述JAVA原生线程池的结构和工作方式:第二篇文章,我们将继续深入,讲解JAVA原生线程池的高级特性,包括Thread工厂.队列.拒绝原则.钩子和相关工具类. 如果您是JAVA语言的初学者,请从本篇文章看起:如果您对线程池技术已有一定的了解,那么可以只看下一篇文章:如果您是高手,请绕行:如果您对我的观

Java多线程(二) —— 线程安全、线程同步、线程间通信(含面试题集)

一.线程安全 多个线程在执行同一段代码的时候,每次的执行结果和单线程执行的结果都是一样的,不存在执行结果的二义性,就可以称作是线程安全的. 讲到线程安全问题,其实是指多线程环境下对共享资源的访问可能会引起此共享资源的不一致性.因此,为避免线程安全问题,应该避免多线程环境下对此共享资源的并发访问. 线程安全问题多是由全局变量和静态变量引起的,当多个线程对共享数据只执行读操作,不执行写操作时,一般是线程安全的:当多个线程都执行写操作时,需要考虑线程同步来解决线程安全问题. 二.线程同步(synchr