本文整理汇总了Java中nxt.util.ThreadPool.scheduleThread方法的典型用法代码示例。如果您正苦于以下问题:Java ThreadPool.scheduleThread方法的具体用法?Java ThreadPool.scheduleThread怎么用?Java ThreadPool.scheduleThread使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nxt.util.ThreadPool
的用法示例。
在下文中一共展示了ThreadPool.scheduleThread方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: TransactionProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private TransactionProcessorImpl() {
ThreadPool.scheduleThread("ProcessTransactions", processTransactionsThread, 5);
ThreadPool.scheduleThread("RemoveUnconfirmedTransactions", removeUnconfirmedTransactionsThread, 1);
if (enableTransactionRebroadcasting) {
ThreadPool.scheduleThread("RebroadcastTransactions", rebroadcastTransactionsThread, 60);
ThreadPool.runAfterStart(new Runnable() {
@Override
public void run() {
try (DbIterator<TransactionImpl> oldNonBroadcastedTransactions = getAllUnconfirmedTransactions()) {
for (TransactionImpl transaction : oldNonBroadcastedTransactions) {
nonBroadcastedTransactions.add(transaction);
}
}
}
});
}
}
示例2: TransactionProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private TransactionProcessorImpl() {
ThreadPool.scheduleThread("ProcessTransactions", processTransactionsThread, 5);
ThreadPool.scheduleThread("RemoveUnconfirmedTransactions", removeUnconfirmedTransactionsThread, 1);
ThreadPool.runAfterStart(new Runnable() {
@Override
public void run() {
synchronized (BlockchainImpl.getInstance()) {
try (DbIterator<UnconfirmedTransaction> oldNonBroadcastedTransactions = getAllUnconfirmedTransactions()) {
for (UnconfirmedTransaction unconfirmedTransaction : oldNonBroadcastedTransactions) {
if (unconfirmedTransaction.getTransaction().isUnconfirmedDuplicate(unconfirmedDuplicates)) {
Logger.logDebugMessage("Skipping duplicate unconfirmed transaction " + unconfirmedTransaction.getTransaction().getJSONObject().toString());
} else if (enableTransactionRebroadcasting) {
broadcastedTransactions.add(unconfirmedTransaction.getTransaction());
}
}
}
}
}
});
if (enableTransactionRebroadcasting) {
ThreadPool.scheduleThread("RebroadcastTransactions", rebroadcastTransactionsThread, 60);
}
}
示例3: TransactionProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private TransactionProcessorImpl() {
ThreadPool.scheduleThread("ProcessTransactions", processTransactionsThread, 5);
ThreadPool.scheduleThread("RemoveUnconfirmedTransactions", removeUnconfirmedTransactionsThread, 1);
ThreadPool.runAfterStart(new Runnable() {
@Override
public void run() {
synchronized (BlockchainImpl.getInstance()) {
try (DbIterator<UnconfirmedTransaction> oldNonBroadcastedTransactions = getAllUnconfirmedTransactions()) {
for (UnconfirmedTransaction unconfirmedTransaction : oldNonBroadcastedTransactions) {
if (unconfirmedTransaction.getTransaction().isUnconfirmedDuplicate(unconfirmedDuplicates)) {
Logger.logErrorMessage("Duplicate unconfirmed transaction " + unconfirmedTransaction.getTransaction().getJSONObject().toString());
} else if (enableTransactionRebroadcasting) {
broadcastedTransactions.add(unconfirmedTransaction.getTransaction());
}
}
}
}
}
});
if (enableTransactionRebroadcasting) {
ThreadPool.scheduleThread("RebroadcastTransactions", rebroadcastTransactionsThread, 60);
}
}
示例4: BlockchainProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private BlockchainProcessorImpl() {
blockListeners.addListener(new Listener<Block>() {
@Override
public void notify(Block block) {
if (block.getHeight() % 5000 == 0) {
Logger.logDebugMessage("processed block " + block.getHeight());
}
}
}, Event.BLOCK_SCANNED);
ThreadPool.runBeforeStart(new Runnable() {
@Override
public void run() {
addGenesisBlock();
scan();
}
});
ThreadPool.scheduleThread(getMoreBlocksThread, 1);
}
示例5: BlockchainProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private BlockchainProcessorImpl()
{
this.blockListeners.addListener(new Listener()
{
public void notify(Block paramAnonymousBlock)
{
if (paramAnonymousBlock.getHeight() % 5000 == 0) {
Logger.logDebugMessage("processed block " + paramAnonymousBlock.getHeight());
}
}
}, BlockchainProcessor.Event.BLOCK_SCANNED);
ThreadPool.runBeforeStart(new Runnable()
{
public void run()
{
BlockchainProcessorImpl.this.addGenesisBlock();
BlockchainProcessorImpl.this.scan();
}
});
ThreadPool.scheduleThread(this.getMoreBlocksThread, 1);
}
示例6: TransactionProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private TransactionProcessorImpl() {
ThreadPool.scheduleThread("ProcessTransactions", processTransactionsThread, 5);
ThreadPool.scheduleThread("RemoveUnconfirmedTransactions", removeUnconfirmedTransactionsThread, 1);
ThreadPool.runAfterStart(this::rebroadcastAllUnconfirmedTransactions);
if (enableTransactionRebroadcasting) {
ThreadPool.scheduleThread("RebroadcastTransactions", rebroadcastTransactionsThread, 60);
}
}
示例7: init
import nxt.util.ThreadPool; //导入方法依赖的package包/类
public void init() {
ThreadPool.scheduleThread("GenerateBlocks", generateBlocksTask, 500, TimeUnit.MILLISECONDS);
}
示例8: startForging
import nxt.util.ThreadPool; //导入方法依赖的package包/类
public void startForging(Block lastBlock) {
//TODO lastBlock
ThreadPool.scheduleThread("GenerateBlocks", generateBlocksThread, 500, TimeUnit.MILLISECONDS);
}
示例9: BlockchainProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private BlockchainProcessorImpl() {
final int trimFrequency = Nxt.getIntProperty("nxt.trimFrequency");
blockListeners.addListener(block -> {
if (block.getHeight() % 5000 == 0) {
Logger.logMessage("processed block " + block.getHeight());
}
if (trimDerivedTables && block.getHeight() % trimFrequency == 0) {
doTrimDerivedTables();
}
}, Event.BLOCK_SCANNED);
blockListeners.addListener(block -> {
if (trimDerivedTables && block.getHeight() % trimFrequency == 0 && !isTrimming) {
isTrimming = true;
networkService.submit(() -> {
trimDerivedTables();
isTrimming = false;
});
}
if (block.getHeight() % 5000 == 0) {
Logger.logMessage("received block " + block.getHeight());
if (!isDownloading || block.getHeight() % 50000 == 0) {
networkService.submit(Db.db::analyzeTables);
}
}
}, Event.BLOCK_PUSHED);
blockListeners.addListener(checksumListener, Event.BLOCK_PUSHED);
blockListeners.addListener(block -> Db.db.analyzeTables(), Event.RESCAN_END);
ThreadPool.runBeforeStart(() -> {
alreadyInitialized = true;
if (addGenesisBlock()) {
scan(0, false);
} else if (Nxt.getBooleanProperty("nxt.forceScan")) {
scan(0, Nxt.getBooleanProperty("nxt.forceValidate"));
} else {
boolean rescan;
boolean validate;
int height;
try (Connection con = Db.db.getConnection();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM scan")) {
rs.next();
rescan = rs.getBoolean("rescan");
validate = rs.getBoolean("validate");
height = rs.getInt("height");
} catch (SQLException e) {
throw new RuntimeException(e.toString(), e);
}
if (rescan) {
scan(height, validate);
}
}
}, false);
ThreadPool.scheduleThread("GetMoreBlocks", getMoreBlocksThread, 1);
}
示例10: TransactionProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private TransactionProcessorImpl() {
ThreadPool.scheduleThread(processTransactionsThread, 5);
ThreadPool.scheduleThread(removeUnconfirmedTransactionsThread, 1);
ThreadPool.scheduleThread(rebroadcastTransactionsThread, 60);
}
示例11: TransactionProcessorImpl
import nxt.util.ThreadPool; //导入方法依赖的package包/类
private TransactionProcessorImpl()
{
ThreadPool.scheduleThread(this.processTransactionsThread, 5);
ThreadPool.scheduleThread(this.removeUnconfirmedTransactionsThread, 1);
ThreadPool.scheduleThread(this.rebroadcastTransactionsThread, 60);
}