摘要: 静态方法跟普通的synchronized方法有所区别,需要特别注意的是,虽然静态的同步方法仅允许同时只有一个线程参与访问,但与此同时其他线程依然可以访问另一个由synchronized修饰的非静态方法。在这里,虽然两个线程都是访问同一个对象实例上的方法(其中一个是静态方法,而另一个不是),但是这两个 阅读全文
posted @ 2024-10-27 14:12 神圣兽国窝窝乡独行侠 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 创建个性化线程。如本案例所示,使用特殊格式来命名,甚至可以通过继承Thread类来创建自己的线程类。 如前面案例所示,保存创建线程的统计信息。 限制线程创建数量。 验证线程的创建。 import java.util.ArrayList; import java.util.Iterator; impo 阅读全文
posted @ 2024-10-26 23:26 神圣兽国窝窝乡独行侠 阅读(3) 评论(0) 推荐(0) 编辑
摘要: ThreadPoolExecutor执行execute方法分下面4种情况。 如果当前运行的线程少于corePoolSize,则创建新线程来执行任务(注意,执行这一步骤需要获取全局锁)。 如果运行的线程等于或多于corePoolSize,则将任务加入BlockingQueue。 如果无法将任务加入Bl 阅读全文
posted @ 2024-10-22 23:10 神圣兽国窝窝乡独行侠 阅读(1) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch CountDownLatch允许线程等待其它线程执行完成 import java.util.concurrent.CountDownLatch; public class CountDownTest { // CountDownLatch的构造函数接收一个int类型的参 阅读全文
posted @ 2024-10-20 09:59 神圣兽国窝窝乡独行侠 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架 package forkjoin; import java.util.concurrent.ExecutionException; import ja 阅读全文
posted @ 2024-10-17 23:50 神圣兽国窝窝乡独行侠 阅读(3) 评论(0) 推荐(0) 编辑
摘要: public interface ThreadPool<Job extends Runnable> { // 执行一个Job,这个Job需要实现Runnable void execute(Job job); // 关闭线程池 void shutdown(); // 增加工作者线程 void addW 阅读全文
posted @ 2024-10-12 00:05 神圣兽国窝窝乡独行侠 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 示例代码1: import streamlit as st import pandas as pd from pathlib import Path @st.cache_data def load_data_from_csv(file_path): return pd.read_csv(file_p 阅读全文
posted @ 2024-09-29 23:09 神圣兽国窝窝乡独行侠 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 服务端: package org.example;import org.apache.commons.lang3.StringUtils;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.Byte 阅读全文
posted @ 2024-09-21 00:56 神圣兽国窝窝乡独行侠 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 转:https://blog.csdn.net/xupeng874395012/article/details/55104258 不需要启动任何中心节点,只要广播地址一样,就可以互相发现 组播受网络结构限制,只适合小规模应用或开发阶段使用。 组播地址段: 224.0.0.0 - 239.255.25 阅读全文
posted @ 2018-08-20 20:43 神圣兽国窝窝乡独行侠 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 坚持就会花开 阅读全文
posted @ 2016-10-06 20:20 神圣兽国窝窝乡独行侠 阅读(94) 评论(0) 推荐(0) 编辑