小编cot*_*ton的帖子

PHP pthreads - 共享对象

我正在寻找一种安全快捷的方式来使用共享对象.

我在这里问过这个问题:https://github.com/krakjoe/pthreads/issues/470 但是显然这不是正确的地方.

尝试与许多其他上下文(Thread)共享一个对象(Threaded).所有线程都在更新此分片对象 - 它们可以设置自己的请求,也必须响应其他人的请求.

现在krakjoe回应说锁定/解锁在7中不可用我有问题.

我知道:.synchronized但不知道如何使用它来满足我的需求.

我如何使用:: synchronized来编写类似的方法

  • 锁()
  • 开锁()
  • is_locked() - 检查是否已锁定,如果是,请不要尝试 - 继续尝试稍后

编辑:

我写了一个(imo)非常简单的测试脚本.

这个脚本包括没有 SYC /锁/ ...方法大气压.

它应该只显示我想要做的事情.

我仍然在寻找一种方法来使用::使这个共享安全.

码:

<?php
/*
TEST:
    create n threads
    each will
        - Shared::set() its own ref
        - check if Shared::exists() its own ref
        - Shared::get() its ref back
        - call method ::isRunning() at returned val to easily check if is ref or got overwritten by another context

TODO:
    using ::synchronized to handle multi-context-access …
Run Code Online (Sandbox Code Playgroud)

php multithreading pthreads synchronized

5
推荐指数
1
解决办法
2080
查看次数

CSS 页面计数器重置

我使用 Dompdf 创建 pdf 文件,但为了不获取大文件,我一次创建了多个 pdf 文件。 (谈论 1.4 mb 而不是 >300)

所以计划是先添加pdf,添加分页符,然后将计数器重置为1。

然后添加以页面计数器 1 开头的第二个 pdf,而不是继续以 3 开头。

伪代码:

model
    ->addContent(fooHtml)
    ->pageBreak() // adds "<div class="page_break"></div>" to content
    ->counterReset() // should add the counter reset to content 
    ->addContent(barHtml)
    ->getPdf
Run Code Online (Sandbox Code Playgroud)

示例pdf:

在此处输入图片说明

问题是counter-reset不起作用。在counter-increment做。

我现在认为我可以通过使用增量减去当前计数器值来重置计数器:

counter-increment: page -counter(page)

但是counter(page)不返回值?至少看起来无效。

这有效:

counter-increment: page -2

但肯定没有解决方案。

我现在搜索一种获取counter(page)值的方法,以便能够添加一个 div 以将当前计数器重置为 1:

<div style="counter-increment: page -counter(page)"></div>.

有没有办法减去当前计数器?

以下是测试文件:

HTML

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> …
Run Code Online (Sandbox Code Playgroud)

html css php counter dompdf

5
推荐指数
0
解决办法
973
查看次数

标签 统计

php ×2

counter ×1

css ×1

dompdf ×1

html ×1

multithreading ×1

pthreads ×1

synchronized ×1