获取线程处理结果的一个方法

package thread.demo;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description:
 * @创建人:[email protected]
 * @创建时间:2015-8-15 下午10:32:23
 *
 */

public class ThreadFiledValue {

    /**
     * @param args
     * @throws InterruptedException
     */
    public static void main(String[] args) throws InterruptedException {

        Task task = new Task();
        Thread thread = new Thread(task);
        thread.start();
        while (thread.isAlive()) {
            System.out.println(Thread.currentThread() + "is alive");
        }
        for (String temp : task.getList()) {
            System.out.println(temp);
        }

    }

}

class Task implements Runnable {
    private List<String> list = new ArrayList<String>();

    public List<String> getList() {
        return list;
    }

    public void run() {
        for (int i = 0; i < 10; i++) {
            list.add(Thread.currentThread() + ":no->" + i);
        }
    }

}
时间: 2024-10-24 12:25:38

获取线程处理结果的一个方法的相关文章

(二)线程同步_1---同步一个方法

同步一个方法(Synchronizing a method) 在并发编程中,最常见的情景莫过于多线程共享同一资源的情景了,例如多个线程同时读写相同的数据或者同时访问相同的文件或数据库连接,如果不采取一个控制机制,那么就会造成数据的不一致甚至是错误发生: 为了解决这些问题,引入了临界区域(critical section)的概念,一个临界区域是指一个用来控制资源访问的代码块,以保证被访问的资源不会同时被多个线程访问,从而保证了数据的一致性: java中提供了Synchronization机制,当一

js中获取当前url参数值的一个方法

var $_GET = (function(){             var url = window.document.location.href.toString();//获得当前url地址并转换成字符串             var u = url.split("?");//以?来分割字符串,将?前后的值存到一个数组中             if(typeof(u[1]) == "string"){//获得?后面具体的请求参数值            

java多线程二之线程同步的三种方法

java多线程的难点是在:处理多个线程同步与并发运行时线程间的通信问题.java在处理线程同步时,常用方法有: 1.synchronized关键字. 2.Lock显示加锁. 3.信号量Semaphore. 线程同步问题引入: 创建一个银行账户Account类,在创建并启动100个线程往同一个Account类实例里面添加一块钱.在没有使用上面三种方法的情况下: 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

线程池? 如何设计一个动态大小的线程池,有哪些方法?

[线程池?  如何设计一个动态大小的线程池,有哪些方法?] 线程池:顾名思义就是事先创建若干个可执行的线程放入一个池(容器)中, 需要的时候从池中获取线程不用自行创建,使用完毕不需要销毁线程而是放回池中, 从而减少创建和销毁线程对象的开销. 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互.此时,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池. 与数据库连接池相似,线程池在系统启动时即创建大量空闲的线程,程序将一个Runnable

定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容。提示(可以了解python的urllib模块)

1 定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容.提示(可以了解python的urllib模块) 2 import urllib.request 3 4 def get_page(url): 5 response = urllib.request.urlopen(url) 6 html = response.read() 7 return html 8 9 print(get_page(url='https://www.baidu,com'))

Linux下获取线程TID的方法——gettid()

如何获取进程的PID(process ID)? 可以使用: #include <unistd.h> pid_t getpid(void); 通过查看头文件说明,可以得到更详细的信息: find /usr/include -name unistd.h /usr/include/asm/unistd.h /usr/include/bits/unistd.h /usr/include/linux/unistd.h /usr/include/sys/unistd.h /usr/include/unis

JS存取Cookies值,附自己写的获取cookies的一个方法

参考:脚本之家 这里对cookie进行了说明,也介绍了几个方法,但是我要取我存的cookie时取不到,他的方法只是针对存的  名字-值,不涉及键,所以自己写了个方法,来满足我的需求. ①你首先的了解Cookie的两种存法   查看  这篇文章下面的一点的位子有介绍 js存cookie: //存cookie document.cookie = "xxx=456"; //不带子键 document.cookie = "haha=hello=123&word=456&quo

当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法

当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法 对象的synchronized方法不能进入了,但它的其他非synchronized方法还是可以访问的. 1 public class TT implements Runnable { 2 int b = 100; 3 public synchronized void m1(){ 4 b = 10000; 5 try { 6 Thread. sleep(5000); 7 System. out.prin

Linux下获取线程TID的方法

如何获取进程的PID(process ID)? 可以使用: #include <unistd.h> pid_t getpid(void); 通过查看头文件说明,可以得到更详细的信息: find /usr/include -name unistd.h /usr/include/asm/unistd.h /usr/include/bits/unistd.h /usr/include/linux/unistd.h /usr/include/sys/unistd.h /usr/include/unis