thread.affinity

A wrapper over net.openhft:affinity providing handy classes to create threads pinned to the specified CPUs.

License

License

GroupId

GroupId

com.epam.deltix
ArtifactId

ArtifactId

thread-affinity
Last Version

Last Version

1.0.4
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

thread.affinity
A wrapper over net.openhft:affinity providing handy classes to create threads pinned to the specified CPUs.
Project URL

Project URL

https://github.com/epam/ThreadAffinity
Source Code Management

Source Code Management

https://github.com/epam/ThreadAffinity.git

Download thread-affinity

Dependencies

compile (2)

Group / Artifact Type Version
net.openhft : affinity jar 3.1.13
org.slf4j : slf4j-api jar 1.7.14

Project Modules

There are no modules declared in this project.

Thread Affinity Wrapper

A wrapper over net.openhft:affinity providing handy classes to create threads pinned to the specified cpus.

Use

Use the following sample to log a message:

int[] cpus = {0, 1};
AffinityLayout affinity = new FixedAffinityLayout(cpus);

PinnedThreadFactory factory = new PinnedThreadFactory("my-thread", affinity);
Runnable runnable = () -> {
    System.out.println("Hello world!");
    System.out.println("Thread: " + Thread.currentThread());
    System.out.println("Affinity: " + Affinity.getAffinity());
};

Thread thread = factory.newThread(runnable);
thread.start();

Build

Build the project with Gradle and Java 8:

./gradlew build

License

Copyright (C) 2021 EPAM

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

com.epam.deltix

EPAM Systems

We are creating software platforms and frameworks across the industries and technologies. Visit https://epam.github.io/ for more projects information.

Versions

Version
1.0.4